<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>hashcat-3.201: H:/TDDownload/Hashcat v3.20/hashcat-3.201/src/hashcat.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">hashcat-3.201
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_06fe396e3e859736df6d43ad26baa72e.html">hashcat-3.201</a></li><li class="navelem"><a class="el" href="dir_9ce3dfc5d638c7f8b2c4ec0f6627771b.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">hashcat.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;common.h&quot;</code><br />
<code>#include &quot;types.h&quot;</code><br />
<code>#include &quot;folder.h&quot;</code><br />
<code>#include &quot;locking.h&quot;</code><br />
<code>#include &quot;memory.h&quot;</code><br />
<code>#include &quot;shared.h&quot;</code><br />
<code>#include &quot;thread.h&quot;</code><br />
<code>#include &quot;timer.h&quot;</code><br />
<code>#include &quot;affinity.h&quot;</code><br />
<code>#include &quot;autotune.h&quot;</code><br />
<code>#include &quot;benchmark.h&quot;</code><br />
<code>#include &quot;bitmap.h&quot;</code><br />
<code>#include &quot;combinator.h&quot;</code><br />
<code>#include &quot;cpt.h&quot;</code><br />
<code>#include &quot;debugfile.h&quot;</code><br />
<code>#include &quot;dictstat.h&quot;</code><br />
<code>#include &quot;dispatch.h&quot;</code><br />
<code>#include &quot;event.h&quot;</code><br />
<code>#include &quot;hashcat.h&quot;</code><br />
<code>#include &quot;hashes.h&quot;</code><br />
<code>#include &quot;hwmon.h&quot;</code><br />
<code>#include &quot;induct.h&quot;</code><br />
<code>#include &quot;interface.h&quot;</code><br />
<code>#include &quot;logfile.h&quot;</code><br />
<code>#include &quot;loopback.h&quot;</code><br />
<code>#include &quot;monitor.h&quot;</code><br />
<code>#include &quot;mpsp.h&quot;</code><br />
<code>#include &quot;opencl.h&quot;</code><br />
<code>#include &quot;outfile_check.h&quot;</code><br />
<code>#include &quot;outfile.h&quot;</code><br />
<code>#include &quot;potfile.h&quot;</code><br />
<code>#include &quot;restore.h&quot;</code><br />
<code>#include &quot;rp.h&quot;</code><br />
<code>#include &quot;status.h&quot;</code><br />
<code>#include &quot;straight.h&quot;</code><br />
<code>#include &quot;tuningdb.h&quot;</code><br />
<code>#include &quot;usage.h&quot;</code><br />
<code>#include &quot;user_options.h&quot;</code><br />
<code>#include &quot;weak_hash.h&quot;</code><br />
<code>#include &quot;wordlist.h&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for hashcat.c:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c__incl.gif" border="0" usemap="#_h_1_2_t_d_download_2_hashcat_01v3_820_2hashcat-3_8201_2src_2hashcat_8c" alt=""/></div>
<map name="_h_1_2_t_d_download_2_hashcat_01v3_820_2hashcat-3_8201_2src_2hashcat_8c" id="_h_1_2_t_d_download_2_hashcat_01v3_820_2hashcat-3_8201_2src_2hashcat_8c">
<area shape="rect"  title=" " alt="" coords="1900,5,2063,61"/>
<area shape="rect"  title=" " alt="" coords="5,109,88,136"/>
<area shape="rect"  title=" " alt="" coords="113,109,178,136"/>
<area shape="rect"  title=" " alt="" coords="203,109,267,136"/>
<area shape="rect"  title=" " alt="" coords="291,109,365,136"/>
<area shape="rect"  title=" " alt="" coords="389,109,469,136"/>
<area shape="rect"  title=" " alt="" coords="493,109,565,136"/>
<area shape="rect"  title=" " alt="" coords="589,109,659,136"/>
<area shape="rect"  title=" " alt="" coords="683,109,746,136"/>
<area shape="rect"  title=" " alt="" coords="770,109,841,136"/>
<area shape="rect"  title=" " alt="" coords="865,109,948,136"/>
<area shape="rect"  title=" " alt="" coords="973,109,1070,136"/>
<area shape="rect"  title=" " alt="" coords="1095,109,1167,136"/>
<area shape="rect"  title=" " alt="" coords="1191,109,1289,136"/>
<area shape="rect"  title=" " alt="" coords="1313,109,1364,136"/>
<area shape="rect"  title=" " alt="" coords="1389,109,1473,136"/>
<area shape="rect"  title=" " alt="" coords="1497,109,1573,136"/>
<area shape="rect"  title=" " alt="" coords="1597,109,1680,136"/>
<area shape="rect"  title=" " alt="" coords="1705,109,1767,136"/>
<area shape="rect"  title=" " alt="" coords="1791,109,1870,136"/>
<area shape="rect"  title=" " alt="" coords="1895,109,1969,136"/>
<area shape="rect"  title=" " alt="" coords="1993,109,2068,136"/>
<area shape="rect"  title=" " alt="" coords="2093,109,2161,136"/>
<area shape="rect"  title=" " alt="" coords="2185,109,2268,136"/>
<area shape="rect"  title=" " alt="" coords="2292,109,2359,136"/>
<area shape="rect"  title=" " alt="" coords="2383,109,2468,136"/>
<area shape="rect"  title=" " alt="" coords="2493,109,2569,136"/>
<area shape="rect"  title=" " alt="" coords="2593,109,2658,136"/>
<area shape="rect"  title=" " alt="" coords="2682,109,2753,136"/>
<area shape="rect"  title=" " alt="" coords="2777,109,2887,136"/>
<area shape="rect"  title=" " alt="" coords="2911,109,2977,136"/>
<area shape="rect"  title=" " alt="" coords="3001,109,3068,136"/>
<area shape="rect"  title=" " alt="" coords="3093,109,3166,136"/>
<area shape="rect"  title=" " alt="" coords="3190,109,3234,136"/>
<area shape="rect"  title=" " alt="" coords="3259,109,3328,136"/>
<area shape="rect"  title=" " alt="" coords="3353,109,3429,136"/>
<area shape="rect"  title=" " alt="" coords="3453,109,3536,136"/>
<area shape="rect"  title=" " alt="" coords="3561,109,3629,136"/>
<area shape="rect"  title=" " alt="" coords="3653,109,3760,136"/>
<area shape="rect"  title=" " alt="" coords="3784,109,3883,136"/>
<area shape="rect"  title=" " alt="" coords="3907,109,3984,136"/>
</map>
</div>
</div>
<p><a href="hashcat_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a9ec4f74d423ae0bd4aa6e960632b7086"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hashcat_8c.html#a9ec4f74d423ae0bd4aa6e960632b7086">inner2_loop</a> (hashcat_ctx_t *hashcat_ctx)</td></tr>
<tr class="separator:a9ec4f74d423ae0bd4aa6e960632b7086"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6cc36d03dcdad3413c794efecb3178a"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hashcat_8c.html#ad6cc36d03dcdad3413c794efecb3178a">inner1_loop</a> (hashcat_ctx_t *hashcat_ctx)</td></tr>
<tr class="separator:ad6cc36d03dcdad3413c794efecb3178a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac33e9695b713153c0fc7cce11696704b"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hashcat_8c.html#ac33e9695b713153c0fc7cce11696704b">outer_loop</a> (hashcat_ctx_t *hashcat_ctx)</td></tr>
<tr class="separator:ac33e9695b713153c0fc7cce11696704b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade4c61ccaafb16eae04c7d4b727942f3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hashcat_8c.html#ade4c61ccaafb16eae04c7d4b727942f3">hashcat_init</a> (hashcat_ctx_t *hashcat_ctx, void(*<a class="el" href="main__shared_8c.html#a73c3170c7171851eb6e8f5a402599423">event</a>)(const u32, struct hashcat_ctx *, const void *, const size_t))</td></tr>
<tr class="separator:ade4c61ccaafb16eae04c7d4b727942f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f3e5c3821b49ad09d6ef5df7bda00a3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hashcat_8c.html#a0f3e5c3821b49ad09d6ef5df7bda00a3">hashcat_destroy</a> (hashcat_ctx_t *hashcat_ctx)</td></tr>
<tr class="separator:a0f3e5c3821b49ad09d6ef5df7bda00a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f3f1b757bdc2a874b4bb0dc657bde1d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hashcat_8c.html#a9f3f1b757bdc2a874b4bb0dc657bde1d">hashcat_session_init</a> (hashcat_ctx_t *hashcat_ctx, char *install_folder, char *shared_folder, int argc, char **argv, const int comptime)</td></tr>
<tr class="separator:a9f3f1b757bdc2a874b4bb0dc657bde1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac49fece3f82732fda9eb29766cc01168"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hashcat_8c.html#ac49fece3f82732fda9eb29766cc01168">hashcat_session_execute</a> (hashcat_ctx_t *hashcat_ctx)</td></tr>
<tr class="separator:ac49fece3f82732fda9eb29766cc01168"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dac2f242318d8f1273b8ba9d121a390"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hashcat_8c.html#a9dac2f242318d8f1273b8ba9d121a390">hashcat_session_pause</a> (hashcat_ctx_t *hashcat_ctx)</td></tr>
<tr class="separator:a9dac2f242318d8f1273b8ba9d121a390"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac118104d167ab618eb907cf255b53d0e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hashcat_8c.html#ac118104d167ab618eb907cf255b53d0e">hashcat_session_resume</a> (hashcat_ctx_t *hashcat_ctx)</td></tr>
<tr class="separator:ac118104d167ab618eb907cf255b53d0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2291fa4f6237a66931592448e674b29"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hashcat_8c.html#af2291fa4f6237a66931592448e674b29">hashcat_session_bypass</a> (hashcat_ctx_t *hashcat_ctx)</td></tr>
<tr class="separator:af2291fa4f6237a66931592448e674b29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fe6c59c3a8bc3fa868e98390dc90082"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hashcat_8c.html#a5fe6c59c3a8bc3fa868e98390dc90082">hashcat_session_checkpoint</a> (hashcat_ctx_t *hashcat_ctx)</td></tr>
<tr class="separator:a5fe6c59c3a8bc3fa868e98390dc90082"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3aeb98e0d275262a5a15491ce0d0d770"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hashcat_8c.html#a3aeb98e0d275262a5a15491ce0d0d770">hashcat_session_quit</a> (hashcat_ctx_t *hashcat_ctx)</td></tr>
<tr class="separator:a3aeb98e0d275262a5a15491ce0d0d770"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac7de5dfb85c0aa9bccebf9782855ffa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hashcat_8c.html#aac7de5dfb85c0aa9bccebf9782855ffa">hashcat_session_destroy</a> (hashcat_ctx_t *hashcat_ctx)</td></tr>
<tr class="separator:aac7de5dfb85c0aa9bccebf9782855ffa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5cb2ec9630f0f735bd5783bde52f4b6"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hashcat_8c.html#ae5cb2ec9630f0f735bd5783bde52f4b6">hashcat_get_log</a> (hashcat_ctx_t *hashcat_ctx)</td></tr>
<tr class="separator:ae5cb2ec9630f0f735bd5783bde52f4b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a325cba22ef98f99a706d99c65989a2c2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hashcat_8c.html#a325cba22ef98f99a706d99c65989a2c2">hashcat_get_status</a> (hashcat_ctx_t *hashcat_ctx, hashcat_status_t *hashcat_status)</td></tr>
<tr class="separator:a325cba22ef98f99a706d99c65989a2c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a0f3e5c3821b49ad09d6ef5df7bda00a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f3e5c3821b49ad09d6ef5df7bda00a3">&#9670;&nbsp;</a></span>hashcat_destroy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void hashcat_destroy </td>
          <td>(</td>
          <td class="paramtype">hashcat_ctx_t *&#160;</td>
          <td class="paramname"><em>hashcat_ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="hashcat_8c_source.html#l00802">802</a> of file <a class="el" href="hashcat_8c_source.html">hashcat.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;{</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;bitmap_ctx);</div><div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;combinator_ctx);</div><div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;cpt_ctx);</div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;debugfile_ctx);</div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;dictstat_ctx);</div><div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;event_ctx);</div><div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;folder_config);</div><div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;hashconfig);</div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;hashes);</div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;hwmon_ctx);</div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;induct_ctx);</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;logfile_ctx);</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;loopback_ctx);</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;mask_ctx);</div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;opencl_ctx);</div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;outcheck_ctx);</div><div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;outfile_ctx);</div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;potfile_ctx);</div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;restore_ctx);</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;status_ctx);</div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;straight_ctx);</div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;tuning_db);</div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;user_options_extra);</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;user_options);</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (hashcat_ctx-&gt;wl_data);</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;  memset (hashcat_ctx, 0, <span class="keyword">sizeof</span> (hashcat_ctx_t));</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;}</div><div class="ttc" id="memory_8c_html_ad8ba3dcf1734b1d2c8679600f0f0c3c9"><div class="ttname"><a href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a></div><div class="ttdeci">void hcfree(void *ptr)</div><div class="ttdef"><b>Definition:</b> <a href="memory_8c_source.html#l00071">memory.c:71</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="memory_8c_source.html#l00071">hcfree()</a>.</p>

<p class="reference">Referenced by <a class="el" href="main_8c_source.html#l00871">main()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_a0f3e5c3821b49ad09d6ef5df7bda00a3_cgraph.gif" border="0" usemap="#hashcat_8c_a0f3e5c3821b49ad09d6ef5df7bda00a3_cgraph" alt=""/></div>
<map name="hashcat_8c_a0f3e5c3821b49ad09d6ef5df7bda00a3_cgraph" id="hashcat_8c_a0f3e5c3821b49ad09d6ef5df7bda00a3_cgraph">
<area shape="rect"  title=" " alt="" coords="5,5,124,32"/>
<area shape="rect"  href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9" title=" " alt="" coords="172,5,229,32"/>
</map>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_a0f3e5c3821b49ad09d6ef5df7bda00a3_icgraph.gif" border="0" usemap="#hashcat_8c_a0f3e5c3821b49ad09d6ef5df7bda00a3_icgraph" alt=""/></div>
<map name="hashcat_8c_a0f3e5c3821b49ad09d6ef5df7bda00a3_icgraph" id="hashcat_8c_a0f3e5c3821b49ad09d6ef5df7bda00a3_icgraph">
<area shape="rect"  title=" " alt="" coords="104,5,223,32"/>
<area shape="rect"  href="main_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title=" " alt="" coords="5,5,56,32"/>
</map>
</div>

</div>
</div>
<a id="ae5cb2ec9630f0f735bd5783bde52f4b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5cb2ec9630f0f735bd5783bde52f4b6">&#9670;&nbsp;</a></span>hashcat_get_log()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* hashcat_get_log </td>
          <td>(</td>
          <td class="paramtype">hashcat_ctx_t *&#160;</td>
          <td class="paramname"><em>hashcat_ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="hashcat_8c_source.html#l01158">1158</a> of file <a class="el" href="hashcat_8c_source.html">hashcat.c</a>.</p>
<div class="fragment"><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;{</div><div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;  event_ctx_t *event_ctx = hashcat_ctx-&gt;event_ctx;</div><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;</div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;  <span class="keywordflow">return</span> event_ctx-&gt;msg_buf;</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;}</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="main__shared_8c_source.html#l00034">main()</a>.</p>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_ae5cb2ec9630f0f735bd5783bde52f4b6_icgraph.gif" border="0" usemap="#hashcat_8c_ae5cb2ec9630f0f735bd5783bde52f4b6_icgraph" alt=""/></div>
<map name="hashcat_8c_ae5cb2ec9630f0f735bd5783bde52f4b6_icgraph" id="hashcat_8c_ae5cb2ec9630f0f735bd5783bde52f4b6_icgraph">
<area shape="rect"  title=" " alt="" coords="104,5,221,32"/>
<area shape="rect"  href="main__shared_8c.html#ae96d7808ccfe95bbec7a55e2ada91935" title=" " alt="" coords="5,5,56,32"/>
</map>
</div>

</div>
</div>
<a id="a325cba22ef98f99a706d99c65989a2c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a325cba22ef98f99a706d99c65989a2c2">&#9670;&nbsp;</a></span>hashcat_get_status()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int hashcat_get_status </td>
          <td>(</td>
          <td class="paramtype">hashcat_ctx_t *&#160;</td>
          <td class="paramname"><em>hashcat_ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">hashcat_status_t *&#160;</td>
          <td class="paramname"><em>hashcat_status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="hashcat_8c_source.html#l01165">1165</a> of file <a class="el" href="hashcat_8c_source.html">hashcat.c</a>.</p>
<div class="fragment"><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;{</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;  <span class="keyword">const</span> status_ctx_t *status_ctx = hashcat_ctx-&gt;status_ctx;</div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;</div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160;  memset (hashcat_status, 0, <span class="keyword">sizeof</span> (hashcat_status_t));</div><div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;</div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;  <span class="keywordflow">if</span> (status_ctx == NULL) <span class="keywordflow">return</span> -1; <span class="comment">// ways too early</span></div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;</div><div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;  <span class="keywordflow">if</span> (status_ctx-&gt;accessible == <span class="keyword">false</span>)</div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;  {</div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;    <span class="keywordflow">if</span> (status_ctx-&gt;hashcat_status_final-&gt;msec_running &gt; 0)</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;    {</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;      memcpy (hashcat_status, status_ctx-&gt;hashcat_status_final, sizeof (hashcat_status_t));</div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;      <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;    }</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;    <span class="keywordflow">return</span> -1; <span class="comment">// still too early</span></div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;  }</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;</div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;  hashcat_status-&gt;digests_cnt                 = <a class="code" href="status_8c.html#a4aac0bc181d9bbeb489e32623aa6e4c8">status_get_digests_cnt</a>                (hashcat_ctx);</div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160;  hashcat_status-&gt;digests_done                = <a class="code" href="status_8c.html#a6b09beaeb7a341d83ae9ceded9c93ca4">status_get_digests_done</a>               (hashcat_ctx);</div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;  hashcat_status-&gt;digests_percent             = <a class="code" href="status_8c.html#a1ee0a0e0756eadec9054356d89a51289">status_get_digests_percent</a>            (hashcat_ctx);</div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;  hashcat_status-&gt;hash_target                 = <a class="code" href="status_8c.html#a1143c80f218b32f866e0cc80ae036bc3">status_get_hash_target</a>                (hashcat_ctx);</div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;  hashcat_status-&gt;hash_type                   = <a class="code" href="status_8c.html#a3545942e77f3a16ee6692a9b634e5f7e">status_get_hash_type</a>                  (hashcat_ctx);</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160;  hashcat_status-&gt;input_base                  = <a class="code" href="status_8c.html#aa4e6bcc5ee09c1853c2c0800ef96f084">status_get_input_base</a>                 (hashcat_ctx);</div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160;  hashcat_status-&gt;input_base_offset           = <a class="code" href="status_8c.html#aee04b2b324a8233c2a9f5eb90b77a6fc">status_get_input_base_offset</a>          (hashcat_ctx);</div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;  hashcat_status-&gt;input_base_count            = <a class="code" href="status_8c.html#a0ce38de7b1ba7a34808185ee942cfc7b">status_get_input_base_count</a>           (hashcat_ctx);</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160;  hashcat_status-&gt;input_base_percent          = <a class="code" href="status_8c.html#a04f86af67fd6a4a33d9fc4ca2c0c7072">status_get_input_base_percent</a>         (hashcat_ctx);</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160;  hashcat_status-&gt;input_mod                   = <a class="code" href="status_8c.html#aea022f57472c6b608225b8cf0fd46c38">status_get_input_mod</a>                  (hashcat_ctx);</div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160;  hashcat_status-&gt;input_mod_offset            = <a class="code" href="status_8c.html#ae1464d56b266870c3dc8ca4d2c5d923e">status_get_input_mod_offset</a>           (hashcat_ctx);</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160;  hashcat_status-&gt;input_mod_count             = <a class="code" href="status_8c.html#a4c8b61a209f126345b6370213e3bc3c8">status_get_input_mod_count</a>            (hashcat_ctx);</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160;  hashcat_status-&gt;input_mod_percent           = <a class="code" href="status_8c.html#a12c020c406e1e6d116db03c22aa0b33f">status_get_input_mod_percent</a>          (hashcat_ctx);</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;  hashcat_status-&gt;input_charset               = <a class="code" href="status_8c.html#aaa8e4295bc31ebc7504fb56c1cedb071">status_get_input_charset</a>              (hashcat_ctx);</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;  hashcat_status-&gt;input_mask_length           = <a class="code" href="status_8c.html#a025e25f5818055655fe9aa6aa15e01ae">status_get_input_mask_length</a>          (hashcat_ctx);</div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;  hashcat_status-&gt;input_mode                  = <a class="code" href="status_8c.html#ab62dda3400db92f9e8ac60af9fd69aec">status_get_input_mode</a>                 (hashcat_ctx);</div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;  hashcat_status-&gt;msec_paused                 = <a class="code" href="status_8c.html#aff0117b75fbe12760f5364f225c4ef90">status_get_msec_paused</a>                (hashcat_ctx);</div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;  hashcat_status-&gt;msec_running                = <a class="code" href="status_8c.html#a326b937af62db651d3659b5099bea555">status_get_msec_running</a>               (hashcat_ctx);</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;  hashcat_status-&gt;msec_real                   = <a class="code" href="status_8c.html#a937c114edc2226d183bf313960efc4e8">status_get_msec_real</a>                  (hashcat_ctx);</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;  hashcat_status-&gt;progress_mode               = <a class="code" href="status_8c.html#a781295c092f97e99ba95f99df1eea6aa">status_get_progress_mode</a>              (hashcat_ctx);</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;  hashcat_status-&gt;progress_finished_percent   = <a class="code" href="status_8c.html#a8a8347653ae7801336fc9ac9f4dae064">status_get_progress_finished_percent</a>  (hashcat_ctx);</div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;  hashcat_status-&gt;progress_cur_relative_skip  = <a class="code" href="status_8c.html#a341985fb5bdd63f9ddb07deb6f8cfea4">status_get_progress_cur_relative_skip</a> (hashcat_ctx);</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;  hashcat_status-&gt;progress_cur                = <a class="code" href="status_8c.html#a25dcb5d0d09beb35c13ff5bcff9fd1cf">status_get_progress_cur</a>               (hashcat_ctx);</div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;  hashcat_status-&gt;progress_done               = <a class="code" href="status_8c.html#a929826aea4e58628664b7d1fcccf8180">status_get_progress_done</a>              (hashcat_ctx);</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160;  hashcat_status-&gt;progress_end_relative_skip  = <a class="code" href="status_8c.html#a9ee20123b633c25f9b9ec434b8474d79">status_get_progress_end_relative_skip</a> (hashcat_ctx);</div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160;  hashcat_status-&gt;progress_end                = <a class="code" href="status_8c.html#acdd426be284d5e1335ad81b33087645a">status_get_progress_end</a>               (hashcat_ctx);</div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160;  hashcat_status-&gt;progress_ignore             = <a class="code" href="status_8c.html#ab4d52d4f7fe06631726ac3cff508afab">status_get_progress_ignore</a>            (hashcat_ctx);</div><div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160;  hashcat_status-&gt;progress_rejected           = <a class="code" href="status_8c.html#a99eb6c1f9c1ff2fb68db347458ee0f69">status_get_progress_rejected</a>          (hashcat_ctx);</div><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160;  hashcat_status-&gt;progress_rejected_percent   = <a class="code" href="status_8c.html#a7326fe3f7089a55304f3f80f0518ecc7">status_get_progress_rejected_percent</a>  (hashcat_ctx);</div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160;  hashcat_status-&gt;progress_restored           = <a class="code" href="status_8c.html#a1c59f83bcb7d87a93ebf43e0ff39fd7c">status_get_progress_restored</a>          (hashcat_ctx);</div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;  hashcat_status-&gt;progress_skip               = <a class="code" href="status_8c.html#a9c11b2a8868c9a457c4c20777f8e4e17">status_get_progress_skip</a>              (hashcat_ctx);</div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160;  hashcat_status-&gt;restore_point               = <a class="code" href="status_8c.html#ae8c830db10f9c40640b474a6446a0946">status_get_restore_point</a>              (hashcat_ctx);</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;  hashcat_status-&gt;restore_total               = <a class="code" href="status_8c.html#a61d576e9e45d266f8ab813cfb7d99552">status_get_restore_total</a>              (hashcat_ctx);</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;  hashcat_status-&gt;restore_percent             = <a class="code" href="status_8c.html#a08e40f83fe99a3bf5c24905bc393c834">status_get_restore_percent</a>            (hashcat_ctx);</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;  hashcat_status-&gt;salts_cnt                   = <a class="code" href="status_8c.html#a605198b16d870347f56caaab9a30e07a">status_get_salts_cnt</a>                  (hashcat_ctx);</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;  hashcat_status-&gt;salts_done                  = <a class="code" href="status_8c.html#a60477bc4bf8f8fcb4ceecf9a3aee3936">status_get_salts_done</a>                 (hashcat_ctx);</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;  hashcat_status-&gt;salts_percent               = <a class="code" href="status_8c.html#a5f9ee1ff0223b191927b9f2894f466d7">status_get_salts_percent</a>              (hashcat_ctx);</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;  hashcat_status-&gt;session                     = <a class="code" href="status_8c.html#ade42d76167c5416b652ce0bf0119b22d">status_get_session</a>                    (hashcat_ctx);</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;  hashcat_status-&gt;status_string               = <a class="code" href="status_8c.html#a9721ca98eb6a6ba9f300c83ff6c3a27c">status_get_status_string</a>              (hashcat_ctx);</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;  hashcat_status-&gt;status_number               = <a class="code" href="status_8c.html#a3d535096cf776c710d87a999192bcaf2">status_get_status_number</a>              (hashcat_ctx);</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;  hashcat_status-&gt;time_estimated_absolute     = <a class="code" href="status_8c.html#a9e34203d8dbdc4e086c6613bf2ba885b">status_get_time_estimated_absolute</a>    (hashcat_ctx);</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;  hashcat_status-&gt;time_estimated_relative     = <a class="code" href="status_8c.html#af0a635eff0f47e4b05fb9cf5c0500bd4">status_get_time_estimated_relative</a>    (hashcat_ctx);</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;  hashcat_status-&gt;time_started_absolute       = <a class="code" href="status_8c.html#ab5290a2cf9bdc9aaa6ca07330150b968">status_get_time_started_absolute</a>      (hashcat_ctx);</div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;  hashcat_status-&gt;time_started_relative       = <a class="code" href="status_8c.html#a2f781598dd9ce70f3703f2f69bc8a36d">status_get_time_started_relative</a>      (hashcat_ctx);</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;  hashcat_status-&gt;cpt_cur_min                 = <a class="code" href="status_8c.html#a79965bb7e1be8762347af372ffc22142">status_get_cpt_cur_min</a>                (hashcat_ctx);</div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;  hashcat_status-&gt;cpt_cur_hour                = <a class="code" href="status_8c.html#a355cdcb9ede56fee687b8af4a9189d33">status_get_cpt_cur_hour</a>               (hashcat_ctx);</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;  hashcat_status-&gt;cpt_cur_day                 = <a class="code" href="status_8c.html#a23b45088a69203f6dace5e4e1e3bb660">status_get_cpt_cur_day</a>                (hashcat_ctx);</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;  hashcat_status-&gt;cpt_avg_min                 = <a class="code" href="status_8c.html#a6aefa07d8d2f81829fd8e25c57e424b5">status_get_cpt_avg_min</a>                (hashcat_ctx);</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160;  hashcat_status-&gt;cpt_avg_hour                = <a class="code" href="status_8c.html#a423d095e28cde7a27728d934ecf1469a">status_get_cpt_avg_hour</a>               (hashcat_ctx);</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;  hashcat_status-&gt;cpt_avg_day                 = <a class="code" href="status_8c.html#a8b960dd7a2f536cf0432bf6933d5096b">status_get_cpt_avg_day</a>                (hashcat_ctx);</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;  hashcat_status-&gt;cpt                         = <a class="code" href="status_8c.html#a2ed1df8a5376cf23d64c50438297c846">status_get_cpt</a>                        (hashcat_ctx);</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160;</div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;  <span class="comment">// multiple devices</span></div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;  hashcat_status-&gt;device_info_cnt    = <a class="code" href="status_8c.html#a2c69a9bdcd774127eeb010c1eda9f71f">status_get_device_info_cnt</a>    (hashcat_ctx);</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;  hashcat_status-&gt;device_info_active = <a class="code" href="status_8c.html#a1fe5a4470ba16471b45009f196690e38">status_get_device_info_active</a> (hashcat_ctx);</div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;</div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> device_id = 0; device_id &lt; hashcat_status-&gt;device_info_cnt; device_id++)</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;  {</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;    device_info_t *device_info = hashcat_status-&gt;device_info_buf + device_id;</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;</div><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;    device_info-&gt;skipped_dev                = <a class="code" href="status_8c.html#a878c31e55b91cb638e764b450700eb33">status_get_skipped_dev</a>                (hashcat_ctx, device_id);</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;    device_info-&gt;hashes_msec_dev            = <a class="code" href="status_8c.html#a7663499119b94c965fc82de66f3b39b7">status_get_hashes_msec_dev</a>            (hashcat_ctx, device_id);</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;    device_info-&gt;hashes_msec_dev_benchmark  = <a class="code" href="status_8c.html#ac13b667f21e4130311dcd81a5f55a1c9">status_get_hashes_msec_dev_benchmark</a>  (hashcat_ctx, device_id);</div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;    device_info-&gt;exec_msec_dev              = <a class="code" href="status_8c.html#a9346e74a0f0d9530d4b98e5059533fe4">status_get_exec_msec_dev</a>              (hashcat_ctx, device_id);</div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160;    device_info-&gt;speed_sec_dev              = <a class="code" href="status_8c.html#a540850b3d02ee69f2b76e5f6d3351818">status_get_speed_sec_dev</a>              (hashcat_ctx, device_id);</div><div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160;    device_info-&gt;input_candidates_dev       = <a class="code" href="status_8c.html#a923fe03c8487c12bd656a22d6dc3f0b7">status_get_input_candidates_dev</a>       (hashcat_ctx, device_id);</div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160;    device_info-&gt;hwmon_dev                  = <a class="code" href="status_8c.html#a6e36bff711d78e207b3d047928a85afc">status_get_hwmon_dev</a>                  (hashcat_ctx, device_id);</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160;    device_info-&gt;corespeed_dev              = <a class="code" href="status_8c.html#a63a8c00d5bd34caf172084656496c49e">status_get_corespeed_dev</a>              (hashcat_ctx, device_id);</div><div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160;    device_info-&gt;memoryspeed_dev            = <a class="code" href="status_8c.html#a73c321551b12c2478bb9fa818f2f7f75">status_get_memoryspeed_dev</a>            (hashcat_ctx, device_id);</div><div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;  }</div><div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;</div><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;  hashcat_status-&gt;hashes_msec_all = <a class="code" href="status_8c.html#aa8ddf49015e6159eec2f16ac86f81abc">status_get_hashes_msec_all</a> (hashcat_ctx);</div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;  hashcat_status-&gt;exec_msec_all   = <a class="code" href="status_8c.html#aaebe6621269740d95c9284bcbb4fc9b4">status_get_exec_msec_all</a>   (hashcat_ctx);</div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;  hashcat_status-&gt;speed_sec_all   = <a class="code" href="status_8c.html#af0e83f314d2df3d42c47571cb16315fd">status_get_speed_sec_all</a>   (hashcat_ctx);</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;}</div><div class="ttc" id="status_8c_html_a2c69a9bdcd774127eeb010c1eda9f71f"><div class="ttname"><a href="status_8c.html#a2c69a9bdcd774127eeb010c1eda9f71f">status_get_device_info_cnt</a></div><div class="ttdeci">int status_get_device_info_cnt(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00161">status.c:161</a></div></div>
<div class="ttc" id="status_8c_html_a25dcb5d0d09beb35c13ff5bcff9fd1cf"><div class="ttname"><a href="status_8c.html#a25dcb5d0d09beb35c13ff5bcff9fd1cf">status_get_progress_cur</a></div><div class="ttdeci">u64 status_get_progress_cur(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01168">status.c:1168</a></div></div>
<div class="ttc" id="status_8c_html_a3545942e77f3a16ee6692a9b634e5f7e"><div class="ttname"><a href="status_8c.html#a3545942e77f3a16ee6692a9b634e5f7e">status_get_hash_type</a></div><div class="ttdeci">char * status_get_hash_type(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00220">status.c:220</a></div></div>
<div class="ttc" id="status_8c_html_a99eb6c1f9c1ff2fb68db347458ee0f69"><div class="ttname"><a href="status_8c.html#a99eb6c1f9c1ff2fb68db347458ee0f69">status_get_progress_rejected</a></div><div class="ttdeci">u64 status_get_progress_rejected(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01123">status.c:1123</a></div></div>
<div class="ttc" id="status_8c_html_a540850b3d02ee69f2b76e5f6d3351818"><div class="ttname"><a href="status_8c.html#a540850b3d02ee69f2b76e5f6d3351818">status_get_speed_sec_dev</a></div><div class="ttdeci">char * status_get_speed_sec_dev(const hashcat_ctx_t *hashcat_ctx, const int device_id)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01398">status.c:1398</a></div></div>
<div class="ttc" id="status_8c_html_a9ee20123b633c25f9b9ec434b8474d79"><div class="ttname"><a href="status_8c.html#a9ee20123b633c25f9b9ec434b8474d79">status_get_progress_end_relative_skip</a></div><div class="ttdeci">u64 status_get_progress_end_relative_skip(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01270">status.c:1270</a></div></div>
<div class="ttc" id="status_8c_html_af0a635eff0f47e4b05fb9cf5c0500bd4"><div class="ttname"><a href="status_8c.html#af0a635eff0f47e4b05fb9cf5c0500bd4">status_get_time_estimated_relative</a></div><div class="ttdeci">char * status_get_time_estimated_relative(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00947">status.c:947</a></div></div>
<div class="ttc" id="status_8c_html_a9e34203d8dbdc4e086c6613bf2ba885b"><div class="ttname"><a href="status_8c.html#a9e34203d8dbdc4e086c6613bf2ba885b">status_get_time_estimated_absolute</a></div><div class="ttdeci">char * status_get_time_estimated_absolute(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00890">status.c:890</a></div></div>
<div class="ttc" id="status_8c_html_a1ee0a0e0756eadec9054356d89a51289"><div class="ttname"><a href="status_8c.html#a1ee0a0e0756eadec9054356d89a51289">status_get_digests_percent</a></div><div class="ttdeci">double status_get_digests_percent(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00778">status.c:778</a></div></div>
<div class="ttc" id="status_8c_html_a8a8347653ae7801336fc9ac9f4dae064"><div class="ttname"><a href="status_8c.html#a8a8347653ae7801336fc9ac9f4dae064">status_get_progress_finished_percent</a></div><div class="ttdeci">double status_get_progress_finished_percent(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01093">status.c:1093</a></div></div>
<div class="ttc" id="status_8c_html_ab62dda3400db92f9e8ac60af9fd69aec"><div class="ttname"><a href="status_8c.html#ab62dda3400db92f9e8ac60af9fd69aec">status_get_input_mode</a></div><div class="ttdeci">int status_get_input_mode(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00311">status.c:311</a></div></div>
<div class="ttc" id="status_8c_html_a1143c80f218b32f866e0cc80ae036bc3"><div class="ttname"><a href="status_8c.html#a1143c80f218b32f866e0cc80ae036bc3">status_get_hash_target</a></div><div class="ttdeci">char * status_get_hash_target(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00227">status.c:227</a></div></div>
<div class="ttc" id="status_8c_html_ab5290a2cf9bdc9aaa6ca07330150b968"><div class="ttname"><a href="status_8c.html#ab5290a2cf9bdc9aaa6ca07330150b968">status_get_time_started_absolute</a></div><div class="ttdeci">char * status_get_time_started_absolute(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00841">status.c:841</a></div></div>
<div class="ttc" id="status_8c_html_a08e40f83fe99a3bf5c24905bc393c834"><div class="ttname"><a href="status_8c.html#a08e40f83fe99a3bf5c24905bc393c834">status_get_restore_percent</a></div><div class="ttdeci">double status_get_restore_percent(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01064">status.c:1064</a></div></div>
<div class="ttc" id="status_8c_html_aea022f57472c6b608225b8cf0fd46c38"><div class="ttname"><a href="status_8c.html#aea022f57472c6b608225b8cf0fd46c38">status_get_input_mod</a></div><div class="ttdeci">char * status_get_input_mod(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00541">status.c:541</a></div></div>
<div class="ttc" id="status_8c_html_a923fe03c8487c12bd656a22d6dc3f0b7"><div class="ttname"><a href="status_8c.html#a923fe03c8487c12bd656a22d6dc3f0b7">status_get_input_candidates_dev</a></div><div class="ttdeci">char * status_get_input_candidates_dev(const hashcat_ctx_t *hashcat_ctx, const int device_id)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00691">status.c:691</a></div></div>
<div class="ttc" id="status_8c_html_ade42d76167c5416b652ce0bf0119b22d"><div class="ttname"><a href="status_8c.html#ade42d76167c5416b652ce0bf0119b22d">status_get_session</a></div><div class="ttdeci">char * status_get_session(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00184">status.c:184</a></div></div>
<div class="ttc" id="status_8c_html_ae1464d56b266870c3dc8ca4d2c5d923e"><div class="ttname"><a href="status_8c.html#ae1464d56b266870c3dc8ca4d2c5d923e">status_get_input_mod_offset</a></div><div class="ttdeci">int status_get_input_mod_offset(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00582">status.c:582</a></div></div>
<div class="ttc" id="status_8c_html_a4c8b61a209f126345b6370213e3bc3c8"><div class="ttname"><a href="status_8c.html#a4c8b61a209f126345b6370213e3bc3c8">status_get_input_mod_count</a></div><div class="ttdeci">int status_get_input_mod_count(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00614">status.c:614</a></div></div>
<div class="ttc" id="status_8c_html_a6aefa07d8d2f81829fd8e25c57e424b5"><div class="ttname"><a href="status_8c.html#a6aefa07d8d2f81829fd8e25c57e424b5">status_get_cpt_avg_min</a></div><div class="ttdeci">int status_get_cpt_avg_min(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01484">status.c:1484</a></div></div>
<div class="ttc" id="status_8c_html_a929826aea4e58628664b7d1fcccf8180"><div class="ttname"><a href="status_8c.html#a929826aea4e58628664b7d1fcccf8180">status_get_progress_done</a></div><div class="ttdeci">u64 status_get_progress_done(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01108">status.c:1108</a></div></div>
<div class="ttc" id="status_8c_html_ab4d52d4f7fe06631726ac3cff508afab"><div class="ttname"><a href="status_8c.html#ab4d52d4f7fe06631726ac3cff508afab">status_get_progress_ignore</a></div><div class="ttdeci">u64 status_get_progress_ignore(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01179">status.c:1179</a></div></div>
<div class="ttc" id="status_8c_html_a2ed1df8a5376cf23d64c50438297c846"><div class="ttname"><a href="status_8c.html#a2ed1df8a5376cf23d64c50438297c846">status_get_cpt</a></div><div class="ttdeci">char * status_get_cpt(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01517">status.c:1517</a></div></div>
<div class="ttc" id="status_8c_html_aee04b2b324a8233c2a9f5eb90b77a6fc"><div class="ttname"><a href="status_8c.html#aee04b2b324a8233c2a9f5eb90b77a6fc">status_get_input_base_offset</a></div><div class="ttdeci">int status_get_input_base_offset(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00461">status.c:461</a></div></div>
<div class="ttc" id="status_8c_html_a73c321551b12c2478bb9fa818f2f7f75"><div class="ttname"><a href="status_8c.html#a73c321551b12c2478bb9fa818f2f7f75">status_get_memoryspeed_dev</a></div><div class="ttdeci">int status_get_memoryspeed_dev(const hashcat_ctx_t *hashcat_ctx, const int device_id)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01667">status.c:1667</a></div></div>
<div class="ttc" id="status_8c_html_ac13b667f21e4130311dcd81a5f55a1c9"><div class="ttname"><a href="status_8c.html#ac13b667f21e4130311dcd81a5f55a1c9">status_get_hashes_msec_dev_benchmark</a></div><div class="ttdeci">double status_get_hashes_msec_dev_benchmark(const hashcat_ctx_t *hashcat_ctx, const int device_id)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01330">status.c:1330</a></div></div>
<div class="ttc" id="status_8c_html_a79965bb7e1be8762347af372ffc22142"><div class="ttname"><a href="status_8c.html#a79965bb7e1be8762347af372ffc22142">status_get_cpt_cur_min</a></div><div class="ttdeci">int status_get_cpt_cur_min(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01409">status.c:1409</a></div></div>
<div class="ttc" id="status_8c_html_a12c020c406e1e6d116db03c22aa0b33f"><div class="ttname"><a href="status_8c.html#a12c020c406e1e6d116db03c22aa0b33f">status_get_input_mod_percent</a></div><div class="ttdeci">double status_get_input_mod_percent(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00646">status.c:646</a></div></div>
<div class="ttc" id="status_8c_html_aaa8e4295bc31ebc7504fb56c1cedb071"><div class="ttname"><a href="status_8c.html#aaa8e4295bc31ebc7504fb56c1cedb071">status_get_input_charset</a></div><div class="ttdeci">char * status_get_input_charset(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00654">status.c:654</a></div></div>
<div class="ttc" id="status_8c_html_a2f781598dd9ce70f3703f2f69bc8a36d"><div class="ttname"><a href="status_8c.html#a2f781598dd9ce70f3703f2f69bc8a36d">status_get_time_started_relative</a></div><div class="ttdeci">char * status_get_time_started_relative(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00857">status.c:857</a></div></div>
<div class="ttc" id="status_8c_html_a781295c092f97e99ba95f99df1eea6aa"><div class="ttname"><a href="status_8c.html#a781295c092f97e99ba95f99df1eea6aa">status_get_progress_mode</a></div><div class="ttdeci">int status_get_progress_mode(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01079">status.c:1079</a></div></div>
<div class="ttc" id="status_8c_html_a61d576e9e45d266f8ab813cfb7d99552"><div class="ttname"><a href="status_8c.html#a61d576e9e45d266f8ab813cfb7d99552">status_get_restore_total</a></div><div class="ttdeci">u64 status_get_restore_total(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01055">status.c:1055</a></div></div>
<div class="ttc" id="status_8c_html_aa4e6bcc5ee09c1853c2c0800ef96f084"><div class="ttname"><a href="status_8c.html#aa4e6bcc5ee09c1853c2c0800ef96f084">status_get_input_base</a></div><div class="ttdeci">char * status_get_input_base(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00416">status.c:416</a></div></div>
<div class="ttc" id="status_8c_html_a341985fb5bdd63f9ddb07deb6f8cfea4"><div class="ttname"><a href="status_8c.html#a341985fb5bdd63f9ddb07deb6f8cfea4">status_get_progress_cur_relative_skip</a></div><div class="ttdeci">u64 status_get_progress_cur_relative_skip(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01255">status.c:1255</a></div></div>
<div class="ttc" id="status_8c_html_a878c31e55b91cb638e764b450700eb33"><div class="ttname"><a href="status_8c.html#a878c31e55b91cb638e764b450700eb33">status_get_skipped_dev</a></div><div class="ttdeci">bool status_get_skipped_dev(const hashcat_ctx_t *hashcat_ctx, const int device_id)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00175">status.c:175</a></div></div>
<div class="ttc" id="status_8c_html_a025e25f5818055655fe9aa6aa15e01ae"><div class="ttname"><a href="status_8c.html#a025e25f5818055655fe9aa6aa15e01ae">status_get_input_mask_length</a></div><div class="ttdeci">int status_get_input_mask_length(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00680">status.c:680</a></div></div>
<div class="ttc" id="status_8c_html_a0ce38de7b1ba7a34808185ee942cfc7b"><div class="ttname"><a href="status_8c.html#a0ce38de7b1ba7a34808185ee942cfc7b">status_get_input_base_count</a></div><div class="ttdeci">int status_get_input_base_count(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00497">status.c:497</a></div></div>
<div class="ttc" id="status_8c_html_af0e83f314d2df3d42c47571cb16315fd"><div class="ttname"><a href="status_8c.html#af0e83f314d2df3d42c47571cb16315fd">status_get_speed_sec_all</a></div><div class="ttdeci">char * status_get_speed_sec_all(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01387">status.c:1387</a></div></div>
<div class="ttc" id="status_8c_html_a1c59f83bcb7d87a93ebf43e0ff39fd7c"><div class="ttname"><a href="status_8c.html#a1c59f83bcb7d87a93ebf43e0ff39fd7c">status_get_progress_restored</a></div><div class="ttdeci">u64 status_get_progress_restored(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01153">status.c:1153</a></div></div>
<div class="ttc" id="status_8c_html_aaebe6621269740d95c9284bcbb4fc9b4"><div class="ttname"><a href="status_8c.html#aaebe6621269740d95c9284bcbb4fc9b4">status_get_exec_msec_all</a></div><div class="ttdeci">double status_get_exec_msec_all(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01357">status.c:1357</a></div></div>
<div class="ttc" id="status_8c_html_ae8c830db10f9c40640b474a6446a0946"><div class="ttname"><a href="status_8c.html#ae8c830db10f9c40640b474a6446a0946">status_get_restore_point</a></div><div class="ttdeci">u64 status_get_restore_point(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01046">status.c:1046</a></div></div>
<div class="ttc" id="status_8c_html_a7663499119b94c965fc82de66f3b39b7"><div class="ttname"><a href="status_8c.html#a7663499119b94c965fc82de66f3b39b7">status_get_hashes_msec_dev</a></div><div class="ttdeci">double status_get_hashes_msec_dev(const hashcat_ctx_t *hashcat_ctx, const int device_id)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01299">status.c:1299</a></div></div>
<div class="ttc" id="status_8c_html_a8b960dd7a2f536cf0432bf6933d5096b"><div class="ttname"><a href="status_8c.html#a8b960dd7a2f536cf0432bf6933d5096b">status_get_cpt_avg_day</a></div><div class="ttdeci">int status_get_cpt_avg_day(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01506">status.c:1506</a></div></div>
<div class="ttc" id="status_8c_html_a355cdcb9ede56fee687b8af4a9189d33"><div class="ttname"><a href="status_8c.html#a355cdcb9ede56fee687b8af4a9189d33">status_get_cpt_cur_hour</a></div><div class="ttdeci">int status_get_cpt_cur_hour(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01434">status.c:1434</a></div></div>
<div class="ttc" id="status_8c_html_a423d095e28cde7a27728d934ecf1469a"><div class="ttname"><a href="status_8c.html#a423d095e28cde7a27728d934ecf1469a">status_get_cpt_avg_hour</a></div><div class="ttdeci">int status_get_cpt_avg_hour(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01495">status.c:1495</a></div></div>
<div class="ttc" id="status_8c_html_acdd426be284d5e1335ad81b33087645a"><div class="ttname"><a href="status_8c.html#acdd426be284d5e1335ad81b33087645a">status_get_progress_end</a></div><div class="ttdeci">u64 status_get_progress_end(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01205">status.c:1205</a></div></div>
<div class="ttc" id="status_8c_html_a9c11b2a8868c9a457c4c20777f8e4e17"><div class="ttname"><a href="status_8c.html#a9c11b2a8868c9a457c4c20777f8e4e17">status_get_progress_skip</a></div><div class="ttdeci">u64 status_get_progress_skip(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01230">status.c:1230</a></div></div>
<div class="ttc" id="status_8c_html_a9346e74a0f0d9530d4b98e5059533fe4"><div class="ttname"><a href="status_8c.html#a9346e74a0f0d9530d4b98e5059533fe4">status_get_exec_msec_dev</a></div><div class="ttdeci">double status_get_exec_msec_dev(const hashcat_ctx_t *hashcat_ctx, const int device_id)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01371">status.c:1371</a></div></div>
<div class="ttc" id="status_8c_html_a4aac0bc181d9bbeb489e32623aa6e4c8"><div class="ttname"><a href="status_8c.html#a4aac0bc181d9bbeb489e32623aa6e4c8">status_get_digests_cnt</a></div><div class="ttdeci">int status_get_digests_cnt(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00771">status.c:771</a></div></div>
<div class="ttc" id="status_8c_html_a5f9ee1ff0223b191927b9f2894f466d7"><div class="ttname"><a href="status_8c.html#a5f9ee1ff0223b191927b9f2894f466d7">status_get_salts_percent</a></div><div class="ttdeci">double status_get_salts_percent(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00799">status.c:799</a></div></div>
<div class="ttc" id="status_8c_html_aff0117b75fbe12760f5364f225c4ef90"><div class="ttname"><a href="status_8c.html#aff0117b75fbe12760f5364f225c4ef90">status_get_msec_paused</a></div><div class="ttdeci">double status_get_msec_paused(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00815">status.c:815</a></div></div>
<div class="ttc" id="status_8c_html_aa8ddf49015e6159eec2f16ac86f81abc"><div class="ttname"><a href="status_8c.html#aa8ddf49015e6159eec2f16ac86f81abc">status_get_hashes_msec_all</a></div><div class="ttdeci">double status_get_hashes_msec_all(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01285">status.c:1285</a></div></div>
<div class="ttc" id="status_8c_html_a605198b16d870347f56caaab9a30e07a"><div class="ttname"><a href="status_8c.html#a605198b16d870347f56caaab9a30e07a">status_get_salts_cnt</a></div><div class="ttdeci">int status_get_salts_cnt(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00792">status.c:792</a></div></div>
<div class="ttc" id="status_8c_html_a60477bc4bf8f8fcb4ceecf9a3aee3936"><div class="ttname"><a href="status_8c.html#a60477bc4bf8f8fcb4ceecf9a3aee3936">status_get_salts_done</a></div><div class="ttdeci">int status_get_salts_done(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00785">status.c:785</a></div></div>
<div class="ttc" id="status_8c_html_a6e36bff711d78e207b3d047928a85afc"><div class="ttname"><a href="status_8c.html#a6e36bff711d78e207b3d047928a85afc">status_get_hwmon_dev</a></div><div class="ttdeci">char * status_get_hwmon_dev(const hashcat_ctx_t *hashcat_ctx, const int device_id)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01571">status.c:1571</a></div></div>
<div class="ttc" id="status_8c_html_a63a8c00d5bd34caf172084656496c49e"><div class="ttname"><a href="status_8c.html#a63a8c00d5bd34caf172084656496c49e">status_get_corespeed_dev</a></div><div class="ttdeci">int status_get_corespeed_dev(const hashcat_ctx_t *hashcat_ctx, const int device_id)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01648">status.c:1648</a></div></div>
<div class="ttc" id="status_8c_html_a7326fe3f7089a55304f3f80f0518ecc7"><div class="ttname"><a href="status_8c.html#a7326fe3f7089a55304f3f80f0518ecc7">status_get_progress_rejected_percent</a></div><div class="ttdeci">double status_get_progress_rejected_percent(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01138">status.c:1138</a></div></div>
<div class="ttc" id="status_8c_html_a3d535096cf776c710d87a999192bcaf2"><div class="ttname"><a href="status_8c.html#a3d535096cf776c710d87a999192bcaf2">status_get_status_number</a></div><div class="ttdeci">int status_get_status_number(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00213">status.c:213</a></div></div>
<div class="ttc" id="status_8c_html_a937c114edc2226d183bf313960efc4e8"><div class="ttname"><a href="status_8c.html#a937c114edc2226d183bf313960efc4e8">status_get_msec_real</a></div><div class="ttdeci">double status_get_msec_real(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00831">status.c:831</a></div></div>
<div class="ttc" id="status_8c_html_a04f86af67fd6a4a33d9fc4ca2c0c7072"><div class="ttname"><a href="status_8c.html#a04f86af67fd6a4a33d9fc4ca2c0c7072">status_get_input_base_percent</a></div><div class="ttdeci">double status_get_input_base_percent(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00533">status.c:533</a></div></div>
<div class="ttc" id="status_8c_html_a1fe5a4470ba16471b45009f196690e38"><div class="ttname"><a href="status_8c.html#a1fe5a4470ba16471b45009f196690e38">status_get_device_info_active</a></div><div class="ttdeci">int status_get_device_info_active(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00168">status.c:168</a></div></div>
<div class="ttc" id="status_8c_html_a6b09beaeb7a341d83ae9ceded9c93ca4"><div class="ttname"><a href="status_8c.html#a6b09beaeb7a341d83ae9ceded9c93ca4">status_get_digests_done</a></div><div class="ttdeci">int status_get_digests_done(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00764">status.c:764</a></div></div>
<div class="ttc" id="status_8c_html_a23b45088a69203f6dace5e4e1e3bb660"><div class="ttname"><a href="status_8c.html#a23b45088a69203f6dace5e4e1e3bb660">status_get_cpt_cur_day</a></div><div class="ttdeci">int status_get_cpt_cur_day(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01459">status.c:1459</a></div></div>
<div class="ttc" id="status_8c_html_a9721ca98eb6a6ba9f300c83ff6c3a27c"><div class="ttname"><a href="status_8c.html#a9721ca98eb6a6ba9f300c83ff6c3a27c">status_get_status_string</a></div><div class="ttdeci">char * status_get_status_string(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00191">status.c:191</a></div></div>
<div class="ttc" id="status_8c_html_a326b937af62db651d3659b5099bea555"><div class="ttname"><a href="status_8c.html#a326b937af62db651d3659b5099bea555">status_get_msec_running</a></div><div class="ttdeci">double status_get_msec_running(const hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l00806">status.c:806</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="status_8c_source.html#l01648">status_get_corespeed_dev()</a>, <a class="el" href="status_8c_source.html#l01517">status_get_cpt()</a>, <a class="el" href="status_8c_source.html#l01506">status_get_cpt_avg_day()</a>, <a class="el" href="status_8c_source.html#l01495">status_get_cpt_avg_hour()</a>, <a class="el" href="status_8c_source.html#l01484">status_get_cpt_avg_min()</a>, <a class="el" href="status_8c_source.html#l01459">status_get_cpt_cur_day()</a>, <a class="el" href="status_8c_source.html#l01434">status_get_cpt_cur_hour()</a>, <a class="el" href="status_8c_source.html#l01409">status_get_cpt_cur_min()</a>, <a class="el" href="status_8c_source.html#l00168">status_get_device_info_active()</a>, <a class="el" href="status_8c_source.html#l00161">status_get_device_info_cnt()</a>, <a class="el" href="status_8c_source.html#l00771">status_get_digests_cnt()</a>, <a class="el" href="status_8c_source.html#l00764">status_get_digests_done()</a>, <a class="el" href="status_8c_source.html#l00778">status_get_digests_percent()</a>, <a class="el" href="status_8c_source.html#l01357">status_get_exec_msec_all()</a>, <a class="el" href="status_8c_source.html#l01371">status_get_exec_msec_dev()</a>, <a class="el" href="status_8c_source.html#l00227">status_get_hash_target()</a>, <a class="el" href="status_8c_source.html#l00220">status_get_hash_type()</a>, <a class="el" href="status_8c_source.html#l01285">status_get_hashes_msec_all()</a>, <a class="el" href="status_8c_source.html#l01299">status_get_hashes_msec_dev()</a>, <a class="el" href="status_8c_source.html#l01330">status_get_hashes_msec_dev_benchmark()</a>, <a class="el" href="status_8c_source.html#l01571">status_get_hwmon_dev()</a>, <a class="el" href="status_8c_source.html#l00416">status_get_input_base()</a>, <a class="el" href="status_8c_source.html#l00497">status_get_input_base_count()</a>, <a class="el" href="status_8c_source.html#l00461">status_get_input_base_offset()</a>, <a class="el" href="status_8c_source.html#l00533">status_get_input_base_percent()</a>, <a class="el" href="status_8c_source.html#l00691">status_get_input_candidates_dev()</a>, <a class="el" href="status_8c_source.html#l00654">status_get_input_charset()</a>, <a class="el" href="status_8c_source.html#l00680">status_get_input_mask_length()</a>, <a class="el" href="status_8c_source.html#l00541">status_get_input_mod()</a>, <a class="el" href="status_8c_source.html#l00614">status_get_input_mod_count()</a>, <a class="el" href="status_8c_source.html#l00582">status_get_input_mod_offset()</a>, <a class="el" href="status_8c_source.html#l00646">status_get_input_mod_percent()</a>, <a class="el" href="status_8c_source.html#l00311">status_get_input_mode()</a>, <a class="el" href="status_8c_source.html#l01667">status_get_memoryspeed_dev()</a>, <a class="el" href="status_8c_source.html#l00815">status_get_msec_paused()</a>, <a class="el" href="status_8c_source.html#l00831">status_get_msec_real()</a>, <a class="el" href="status_8c_source.html#l00806">status_get_msec_running()</a>, <a class="el" href="status_8c_source.html#l01168">status_get_progress_cur()</a>, <a class="el" href="status_8c_source.html#l01255">status_get_progress_cur_relative_skip()</a>, <a class="el" href="status_8c_source.html#l01108">status_get_progress_done()</a>, <a class="el" href="status_8c_source.html#l01205">status_get_progress_end()</a>, <a class="el" href="status_8c_source.html#l01270">status_get_progress_end_relative_skip()</a>, <a class="el" href="status_8c_source.html#l01093">status_get_progress_finished_percent()</a>, <a class="el" href="status_8c_source.html#l01179">status_get_progress_ignore()</a>, <a class="el" href="status_8c_source.html#l01079">status_get_progress_mode()</a>, <a class="el" href="status_8c_source.html#l01123">status_get_progress_rejected()</a>, <a class="el" href="status_8c_source.html#l01138">status_get_progress_rejected_percent()</a>, <a class="el" href="status_8c_source.html#l01153">status_get_progress_restored()</a>, <a class="el" href="status_8c_source.html#l01230">status_get_progress_skip()</a>, <a class="el" href="status_8c_source.html#l01064">status_get_restore_percent()</a>, <a class="el" href="status_8c_source.html#l01046">status_get_restore_point()</a>, <a class="el" href="status_8c_source.html#l01055">status_get_restore_total()</a>, <a class="el" href="status_8c_source.html#l00792">status_get_salts_cnt()</a>, <a class="el" href="status_8c_source.html#l00785">status_get_salts_done()</a>, <a class="el" href="status_8c_source.html#l00799">status_get_salts_percent()</a>, <a class="el" href="status_8c_source.html#l00184">status_get_session()</a>, <a class="el" href="status_8c_source.html#l00175">status_get_skipped_dev()</a>, <a class="el" href="status_8c_source.html#l01387">status_get_speed_sec_all()</a>, <a class="el" href="status_8c_source.html#l01398">status_get_speed_sec_dev()</a>, <a class="el" href="status_8c_source.html#l00213">status_get_status_number()</a>, <a class="el" href="status_8c_source.html#l00191">status_get_status_string()</a>, <a class="el" href="status_8c_source.html#l00890">status_get_time_estimated_absolute()</a>, <a class="el" href="status_8c_source.html#l00947">status_get_time_estimated_relative()</a>, <a class="el" href="status_8c_source.html#l00841">status_get_time_started_absolute()</a>, and <a class="el" href="status_8c_source.html#l00857">status_get_time_started_relative()</a>.</p>

<p class="reference">Referenced by <a class="el" href="hashcat_8c_source.html#l00055">inner2_loop()</a>, <a class="el" href="main__shared_8c_source.html#l00034">main()</a>, <a class="el" href="terminal_8c_source.html#l01075">status_benchmark()</a>, <a class="el" href="terminal_8c_source.html#l01046">status_benchmark_automate()</a>, <a class="el" href="terminal_8c_source.html#l00663">status_display()</a>, and <a class="el" href="terminal_8c_source.html#l00588">status_display_machine_readable()</a>.</p>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_a325cba22ef98f99a706d99c65989a2c2_icgraph.gif" border="0" usemap="#hashcat_8c_a325cba22ef98f99a706d99c65989a2c2_icgraph" alt=""/></div>
<map name="hashcat_8c_a325cba22ef98f99a706d99c65989a2c2_icgraph" id="hashcat_8c_a325cba22ef98f99a706d99c65989a2c2_icgraph">
<area shape="rect"  title=" " alt="" coords="2912,954,3048,981"/>
<area shape="rect"  href="hashcat_8c.html#a9ec4f74d423ae0bd4aa6e960632b7086" title=" " alt="" coords="596,930,684,957"/>
<area shape="rect"  href="main__shared_8c.html#ae96d7808ccfe95bbec7a55e2ada91935" title=" " alt="" coords="2743,1098,2794,1125"/>
<area shape="rect"  href="terminal_8c.html#a30f3bb901b9e4c86fe78abb104c2f2fa" title=" " alt="" coords="2496,929,2625,955"/>
<area shape="rect"  href="terminal_8c.html#ab059eb0bceb2ee24e8f86c04f4354d16" title=" " alt="" coords="2673,979,2864,1006"/>
<area shape="rect"  href="terminal_8c.html#a64a36e504f5e3a0b633b17dcfcf8366f" title=" " alt="" coords="2507,811,2614,838"/>
<area shape="rect"  href="terminal_8c.html#ae3a80a3f67aa1810c8d9e49911f490a6" title=" " alt="" coords="2687,863,2850,904"/>
<area shape="rect"  href="hashcat_8c.html#ad6cc36d03dcdad3413c794efecb3178a" title=" " alt="" coords="458,930,546,957"/>
<area shape="rect"  href="hashcat_8c.html#ac33e9695b713153c0fc7cce11696704b" title=" " alt="" coords="325,905,408,931"/>
<area shape="rect"  href="hashcat_8c.html#ac49fece3f82732fda9eb29766cc01168" title=" " alt="" coords="104,977,277,1003"/>
<area shape="rect"  href="main_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title=" " alt="" coords="5,1098,56,1125"/>
<area shape="rect"  href="main_8c.html#af6ada2a7aa24abc385db81bf2967d967" title=" " alt="" coords="2297,855,2448,882"/>
<area shape="rect"  href="main_8c.html#a73c3170c7171851eb6e8f5a402599423" title=" " alt="" coords="1799,738,1851,765"/>
<area shape="rect"  href="hashcat_8c.html#ade4c61ccaafb16eae04c7d4b727942f3" title=" " alt="" coords="456,1149,548,1175"/>
<area shape="rect"  href="opencl_8c.html#a3797f3c2680a9e341e314ad0c84c9b16" title=" " alt="" coords="1547,461,1743,487"/>
<area shape="rect"  href="opencl_8c.html#a0c2e61014e4dab417caa193c598b6a23" title=" " alt="" coords="1358,271,1441,298"/>
<area shape="rect"  href="opencl_8c.html#a6b505220d582c3a31d651cbe1d685484" title=" " alt="" coords="1581,946,1708,973"/>
<area shape="rect"  href="opencl_8c.html#ab47974684ac3076a5e2fe97db360f1f1" title=" " alt="" coords="1561,758,1729,785"/>
<area shape="rect"  href="opencl_8c.html#ac62e3f353065d17d4caa46e165be51c2" title=" " alt="" coords="1093,525,1260,551"/>
<area shape="rect"  href="opencl_8c.html#a707b32d6170142181dc47bc668c03efa" title=" " alt="" coords="1561,170,1728,197"/>
<area shape="rect"  href="opencl_8c.html#af7aecf5b949a11bafa5f455504b5a8c2" title=" " alt="" coords="1563,997,1726,1023"/>
<area shape="rect"  href="opencl_8c.html#aba298160a7f6951fdd26c1e2846e7f9b" title=" " alt="" coords="1539,258,1751,285"/>
<area shape="rect"  href="opencl_8c.html#a1a05fbe1529ac9bd5fcd1a0fed0f0fe7" title=" " alt="" coords="1559,359,1731,386"/>
<area shape="rect"  href="opencl_8c.html#ad598c213dd69579a45ca34bcac1ba552" title=" " alt="" coords="1579,410,1711,437"/>
<area shape="rect"  href="opencl_8c.html#a923e021b433067dd09b59522c754d4f4" title=" " alt="" coords="917,398,1023,425"/>
<area shape="rect"  href="opencl_8c.html#aa3be407e53521e7f7f0d4de086ee7018" title=" " alt="" coords="1347,385,1451,411"/>
<area shape="rect"  href="opencl_8c.html#a3053f61b5154e477dca1ab3af40fc67f" title=" " alt="" coords="1119,474,1234,501"/>
<area shape="rect"  href="opencl_8c.html#a270475ec734ad9d206b4bfc7a8e7139b" title=" " alt="" coords="1331,651,1467,678"/>
<area shape="rect"  href="autotune_8c.html#ad9235db23bece1366339da9a423d880a" title=" " alt="" coords="1145,575,1208,602"/>
<area shape="rect"  href="opencl_8c.html#a6b485c94e6a1ed68eb8a230b59947aba" title=" " alt="" coords="917,449,1023,475"/>
<area shape="rect"  href="weak__hash_8c.html#a410a6e1cce44e8f0c4cde8ec7d00ecd8" title=" " alt="" coords="1112,221,1241,247"/>
<area shape="rect"  href="autotune_8c.html#a58022d7cc5d8126f33e8635c5ae62c2b" title=" " alt="" coords="934,601,1006,627"/>
<area shape="rect"  href="autotune_8c.html#a947f89f8de260d6c32e8b003c79ce2c7" title=" " alt="" coords="732,727,847,754"/>
<area shape="rect"  href="opencl_8c.html#af8bef12676549083a86b2986c456f72d" title=" " alt="" coords="744,449,835,475"/>
<area shape="rect"  href="dispatch_8c.html#a274118ca9e580459d6e82f6d61a34d59" title=" " alt="" coords="599,499,681,526"/>
<area shape="rect"  href="dispatch_8c.html#a0502555fe69aef3e7b8c3886ef18c145" title=" " alt="" coords="617,449,663,475"/>
<area shape="rect"  href="opencl_8c.html#ad74b845ad0c7ef8fb27e99d419a708a0" title=" " alt="" coords="752,499,827,526"/>
<area shape="rect"  href="opencl_8c.html#a402aef449e3c6488d863902358dd0b1d" title=" " alt="" coords="1116,677,1237,703"/>
<area shape="rect"  href="opencl_8c.html#a25858ed9c49bd2972bb375ec8190c2ba" title=" " alt="" coords="895,879,1045,906"/>
<area shape="rect"  href="hashes_8c.html#a98055a12599ed1bd53da5c0694605f3d" title=" " alt="" coords="1344,195,1455,222"/>
<area shape="rect"  href="opencl_8c.html#a6e6cfbf2cffcded725be07e5f854ba2e" title=" " alt="" coords="1308,930,1491,957"/>
<area shape="rect"  href="opencl_8c.html#a36f294a1988a5ff960fa09c9c68de75d" title=" " alt="" coords="1320,981,1479,1023"/>
<area shape="rect"  href="mpsp_8c.html#a0bc1fdc7efaa7d7cb8d83aea4a87e02e" title=" " alt="" coords="1099,930,1255,957"/>
<area shape="rect"  href="opencl_8c.html#ade369d76f252c3c3a33a2ffed95c5824" title=" " alt="" coords="1350,119,1449,146"/>
<area shape="rect"  href="outfile_8c.html#a1553046f7ee2bb2c5568c75baf15e4a8" title=" " alt="" coords="1135,69,1218,95"/>
<area shape="rect"  href="outfile_8c.html#acf3cdc6308453bdcab6860307bb3e02d" title=" " alt="" coords="1119,119,1235,146"/>
<area shape="rect"  href="main_8c.html#a4e664697b793b6744c9849c1de53a051" title=" " alt="" coords="2107,789,2249,831"/>
<area shape="rect"  href="terminal_8c.html#a99e7c4c326b4b2acdbe60cedc81efea1" title=" " alt="" coords="2335,745,2410,771"/>
<area shape="rect"  href="terminal_8c.html#a5a70871e3050a17bffd2e15779d536d2" title=" " alt="" coords="2119,738,2237,765"/>
<area shape="rect"  href="main_8c.html#aa9cb60ea1fd75f8faf5ce16454f526ec" title=" " alt="" coords="1899,738,2059,765"/>
</map>
</div>

</div>
</div>
<a id="ade4c61ccaafb16eae04c7d4b727942f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade4c61ccaafb16eae04c7d4b727942f3">&#9670;&nbsp;</a></span>hashcat_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int hashcat_init </td>
          <td>(</td>
          <td class="paramtype">hashcat_ctx_t *&#160;</td>
          <td class="paramname"><em>hashcat_ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(*)(const u32, struct hashcat_ctx *, const void *, const size_t)&#160;</td>
          <td class="paramname"><em>event</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="hashcat_8c_source.html#l00761">761</a> of file <a class="el" href="hashcat_8c_source.html">hashcat.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;{</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="main_8c.html#a73c3170c7171851eb6e8f5a402599423">event</a> == NULL)</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;  {</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;    fprintf (stderr, <span class="stringliteral">&quot;Event callback function is mandatory\n&quot;</span>);</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;    <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;  }</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;  hashcat_ctx-&gt;event = <a class="code" href="main_8c.html#a73c3170c7171851eb6e8f5a402599423">event</a>;</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;  hashcat_ctx-&gt;bitmap_ctx         = (bitmap_ctx_t *)          <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (bitmap_ctx_t));</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;  hashcat_ctx-&gt;combinator_ctx     = (combinator_ctx_t *)      <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (combinator_ctx_t));</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;  hashcat_ctx-&gt;cpt_ctx            = (cpt_ctx_t *)             <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (cpt_ctx_t));</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;  hashcat_ctx-&gt;debugfile_ctx      = (debugfile_ctx_t *)       <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (debugfile_ctx_t));</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;  hashcat_ctx-&gt;dictstat_ctx       = (dictstat_ctx_t *)        <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (dictstat_ctx_t));</div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;  hashcat_ctx-&gt;event_ctx          = (event_ctx_t *)           <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (event_ctx_t));</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;  hashcat_ctx-&gt;folder_config      = (folder_config_t *)       <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (folder_config_t));</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;  hashcat_ctx-&gt;hashcat_user       = (hashcat_user_t *)        <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (hashcat_user_t));</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;  hashcat_ctx-&gt;hashconfig         = (hashconfig_t *)          <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (hashconfig_t));</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;  hashcat_ctx-&gt;hashes             = (hashes_t *)              <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (hashes_t));</div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;  hashcat_ctx-&gt;hwmon_ctx          = (hwmon_ctx_t *)           <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (hwmon_ctx_t));</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;  hashcat_ctx-&gt;induct_ctx         = (induct_ctx_t *)          <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (induct_ctx_t));</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;  hashcat_ctx-&gt;logfile_ctx        = (logfile_ctx_t *)         <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (logfile_ctx_t));</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;  hashcat_ctx-&gt;loopback_ctx       = (loopback_ctx_t *)        <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (loopback_ctx_t));</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;  hashcat_ctx-&gt;mask_ctx           = (mask_ctx_t *)            <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (mask_ctx_t));</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;  hashcat_ctx-&gt;opencl_ctx         = (opencl_ctx_t *)          <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (opencl_ctx_t));</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;  hashcat_ctx-&gt;outcheck_ctx       = (outcheck_ctx_t *)        <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (outcheck_ctx_t));</div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;  hashcat_ctx-&gt;outfile_ctx        = (outfile_ctx_t *)         <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (outfile_ctx_t));</div><div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;  hashcat_ctx-&gt;potfile_ctx        = (potfile_ctx_t *)         <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (potfile_ctx_t));</div><div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;  hashcat_ctx-&gt;restore_ctx        = (restore_ctx_t *)         <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (restore_ctx_t));</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;  hashcat_ctx-&gt;status_ctx         = (status_ctx_t *)          <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (status_ctx_t));</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;  hashcat_ctx-&gt;straight_ctx       = (straight_ctx_t *)        <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (straight_ctx_t));</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;  hashcat_ctx-&gt;tuning_db          = (tuning_db_t *)           <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (tuning_db_t));</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;  hashcat_ctx-&gt;user_options_extra = (user_options_extra_t *)  <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (user_options_extra_t));</div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;  hashcat_ctx-&gt;user_options       = (user_options_t *)        <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (user_options_t));</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;  hashcat_ctx-&gt;wl_data            = (wl_data_t *)             <a class="code" href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a> (<span class="keyword">sizeof</span> (wl_data_t));</div><div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;}</div><div class="ttc" id="main_8c_html_a73c3170c7171851eb6e8f5a402599423"><div class="ttname"><a href="main_8c.html#a73c3170c7171851eb6e8f5a402599423">event</a></div><div class="ttdeci">static void event(const u32 id, hashcat_ctx_t *hashcat_ctx, const void *buf, const size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="main_8c_source.html#l00823">main.c:823</a></div></div>
<div class="ttc" id="memory_8c_html_aac788cecd4f6c2a1524456f4a5db7cdc"><div class="ttname"><a href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc">hcmalloc</a></div><div class="ttdeci">void * hcmalloc(const size_t sz)</div><div class="ttdef"><b>Definition:</b> <a href="memory_8c_source.html#l00024">memory.c:24</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="main_8c_source.html#l00823">event()</a>, and <a class="el" href="memory_8c_source.html#l00024">hcmalloc()</a>.</p>

<p class="reference">Referenced by <a class="el" href="main_8c_source.html#l00871">main()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_ade4c61ccaafb16eae04c7d4b727942f3_cgraph.gif" border="0" usemap="#hashcat_8c_ade4c61ccaafb16eae04c7d4b727942f3_cgraph" alt=""/></div>
<map name="hashcat_8c_ade4c61ccaafb16eae04c7d4b727942f3_cgraph" id="hashcat_8c_ade4c61ccaafb16eae04c7d4b727942f3_cgraph">
<area shape="rect"  title=" " alt="" coords="5,1767,97,1793"/>
<area shape="rect"  href="main_8c.html#a73c3170c7171851eb6e8f5a402599423" title=" " alt="" coords="145,1207,197,1233"/>
<area shape="rect"  href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc" title=" " alt="" coords="754,1692,829,1719"/>
<area shape="rect"  href="main_8c.html#a32267a9babef2011cb79b27389761e15" title=" " alt="" coords="273,559,425,585"/>
<area shape="rect"  href="main_8c.html#ad3627f8345a7b1bc960aafdef1f2f0ef" title=" " alt="" coords="276,609,421,636"/>
<area shape="rect"  href="main_8c.html#a9620c3b5872c1ca3d6305ec3ec455e96" title=" " alt="" coords="500,1489,692,1516"/>
<area shape="rect"  href="main_8c.html#af6ada2a7aa24abc385db81bf2967d967" title=" " alt="" coords="273,1607,424,1633"/>
<area shape="rect"  href="main_8c.html#aee0ffb60de12a2149c38d0edb63c6873" title=" " alt="" coords="255,1876,443,1903"/>
<area shape="rect"  href="main_8c.html#a8c9b1c83b7606323b8301c9d23bc634f" title=" " alt="" coords="273,1439,424,1465"/>
<area shape="rect"  href="main_8c.html#aa8d4b6fa908a9962722ea52e249382a4" title=" " alt="" coords="278,661,419,702"/>
<area shape="rect"  href="main_8c.html#a4148cb046224f2fbc2a6422cc2fc3efb" title=" " alt="" coords="278,726,419,767"/>
<area shape="rect"  href="main_8c.html#acb10729db6d7d5a1387d42b140975389" title=" " alt="" coords="261,792,437,819"/>
<area shape="rect"  href="main_8c.html#a2a02ef79c93a9cd89523098097df0d63" title=" " alt="" coords="283,843,414,885"/>
<area shape="rect"  href="main_8c.html#ad7c2c247c826d9abdffd67a00f5140ab" title=" " alt="" coords="283,909,414,950"/>
<area shape="rect"  href="main_8c.html#ad3f12125746060567fbac4c53a365d71" title=" " alt="" coords="283,974,414,1015"/>
<area shape="rect"  href="main_8c.html#a0e6b752854a0c3a5499f94182894fa70" title=" " alt="" coords="283,1039,414,1081"/>
<area shape="rect"  href="main_8c.html#aa5d28006dcbb9337d16eba43c134f0dc" title=" " alt="" coords="275,1105,422,1146"/>
<area shape="rect"  href="main_8c.html#ad44cf972b0467fc9ce68a2e045792849" title=" " alt="" coords="275,158,422,199"/>
<area shape="rect"  href="main_8c.html#a82c45b927b627b6243257121923ff1c1" title=" " alt="" coords="295,2095,402,2121"/>
<area shape="rect"  href="main_8c.html#af36f0f358982cbfc00b8248b9bf215e7" title=" " alt="" coords="298,2145,399,2172"/>
<area shape="rect"  href="main_8c.html#a047b84b0f27822ca6047f2c641ec7dc9" title=" " alt="" coords="286,2196,411,2223"/>
<area shape="rect"  href="main_8c.html#ae7a8d2980fee327d884b414eeba9ffd5" title=" " alt="" coords="273,1978,424,2019"/>
<area shape="rect"  href="main_8c.html#a4e664697b793b6744c9849c1de53a051" title=" " alt="" coords="277,1541,420,1582"/>
<area shape="rect"  href="main_8c.html#a492c76a917f4179db240bfb6d32769cf" title=" " alt="" coords="263,2044,435,2071"/>
<area shape="rect"  href="main_8c.html#a34dc58a412cf235a16ca6236abe13e8a" title=" " alt="" coords="271,1927,426,1953"/>
<area shape="rect"  href="main_8c.html#af4dfd3b68c576941d9af849584e56ceb" title=" " alt="" coords="271,1724,426,1751"/>
<area shape="rect"  href="main_8c.html#a42a84f3c9beb52724b302e6192604dc0" title=" " alt="" coords="271,1775,426,1801"/>
<area shape="rect"  href="main_8c.html#a81e677be48184cc3faa78714c5a01d72" title=" " alt="" coords="245,1825,452,1852"/>
<area shape="rect"  href="main_8c.html#ade3d07fe437c59af15d5d95a2bdbaf49" title=" " alt="" coords="259,224,438,251"/>
<area shape="rect"  href="main_8c.html#a6f09e4d5077ee9455ca3f3fdfa7cd2d5" title=" " alt="" coords="263,275,435,301"/>
<area shape="rect"  href="main_8c.html#a41bef1228c9e87ba855a26e6c7a37f5a" title=" " alt="" coords="268,2247,429,2273"/>
<area shape="rect"  href="main_8c.html#a46df1c8d07283dc4798853c4ae078879" title=" " alt="" coords="504,1236,688,1263"/>
<area shape="rect"  href="main_8c.html#aa9cb60ea1fd75f8faf5ce16454f526ec" title=" " alt="" coords="269,5,429,32"/>
<area shape="rect"  href="main_8c.html#a7bf22ab4e7ae4fc7bb4565672944be28" title=" " alt="" coords="514,1287,678,1313"/>
<area shape="rect"  href="main_8c.html#a22b7b97154dcb9c0553a118b3e83c876" title=" " alt="" coords="273,56,424,83"/>
<area shape="rect"  href="main_8c.html#a775b2b69117d095a1948daead6cb335e" title=" " alt="" coords="267,107,430,133"/>
<area shape="rect"  href="main_8c.html#aac920722d3578cb5aec25c2c9879ef31" title=" " alt="" coords="508,1337,684,1364"/>
<area shape="rect"  href="main_8c.html#a10ed4ad50d5a29f3df3d2e11b2b81a1c" title=" " alt="" coords="279,326,418,367"/>
<area shape="rect"  href="main_8c.html#a53b0019b05d5daabf258fcb71bc080b9" title=" " alt="" coords="279,391,418,433"/>
<area shape="rect"  href="main_8c.html#a8addc398c08945b966145d07787999b2" title=" " alt="" coords="269,1658,428,1699"/>
<area shape="rect"  href="main_8c.html#a7b3f4dbebb06dc8b76a13f5952450aba" title=" " alt="" coords="271,457,426,484"/>
<area shape="rect"  href="main_8c.html#a5f8ae302e96db42897362b72268556be" title=" " alt="" coords="275,508,422,535"/>
<area shape="rect"  href="main_8c.html#a015f20f6e8d5c353e869f72255e15723" title=" " alt="" coords="277,1170,420,1211"/>
<area shape="rect"  href="main_8c.html#ad88ad31cb7c92007dc9656c377d6fe4b" title=" " alt="" coords="514,1388,678,1415"/>
<area shape="rect"  href="event_8c.html#a877ef3a9a9b656d3be748c75c5e29ec4" title=" " alt="" coords="534,668,658,695"/>
<area shape="rect"  href="event_8c.html#a00ca24c499c2bd38b9fb1fcc3308fbf2" title=" " alt="" coords="740,1464,843,1491"/>
<area shape="rect"  href="terminal_8c.html#a82d69b904c59559531c17d1643a36bbf" title=" " alt="" coords="547,1844,645,1871"/>
<area shape="rect"  href="terminal_8c.html#a30f3bb901b9e4c86fe78abb104c2f2fa" title=" " alt="" coords="531,1692,661,1719"/>
<area shape="rect"  href="terminal_8c.html#a64a36e504f5e3a0b633b17dcfcf8366f" title=" " alt="" coords="543,1641,649,1668"/>
<area shape="rect"  href="terminal_8c.html#a1f59f7dae5ed5c7df13ad50c85d85f08" title=" " alt="" coords="547,1793,645,1820"/>
</map>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_ade4c61ccaafb16eae04c7d4b727942f3_icgraph.gif" border="0" usemap="#hashcat_8c_ade4c61ccaafb16eae04c7d4b727942f3_icgraph" alt=""/></div>
<map name="hashcat_8c_ade4c61ccaafb16eae04c7d4b727942f3_icgraph" id="hashcat_8c_ade4c61ccaafb16eae04c7d4b727942f3_icgraph">
<area shape="rect"  title=" " alt="" coords="104,5,196,32"/>
<area shape="rect"  href="main_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title=" " alt="" coords="5,5,56,32"/>
</map>
</div>

</div>
</div>
<a id="af2291fa4f6237a66931592448e674b29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2291fa4f6237a66931592448e674b29">&#9670;&nbsp;</a></span>hashcat_session_bypass()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int hashcat_session_bypass </td>
          <td>(</td>
          <td class="paramtype">hashcat_ctx_t *&#160;</td>
          <td class="paramname"><em>hashcat_ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="hashcat_8c_source.html#l01119">1119</a> of file <a class="el" href="hashcat_8c_source.html">hashcat.c</a>.</p>
<div class="fragment"><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;{</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="thread_8c.html#a71952b2b9a85a45eefed06338e901c02">bypass</a> (hashcat_ctx);</div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;}</div><div class="ttc" id="thread_8c_html_a71952b2b9a85a45eefed06338e901c02"><div class="ttname"><a href="thread_8c.html#a71952b2b9a85a45eefed06338e901c02">bypass</a></div><div class="ttdeci">int bypass(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="thread_8c_source.html#l00172">thread.c:172</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="thread_8c_source.html#l00172">bypass()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_af2291fa4f6237a66931592448e674b29_cgraph.gif" border="0" usemap="#hashcat_8c_af2291fa4f6237a66931592448e674b29_cgraph" alt=""/></div>
<map name="hashcat_8c_af2291fa4f6237a66931592448e674b29_cgraph" id="hashcat_8c_af2291fa4f6237a66931592448e674b29_cgraph">
<area shape="rect"  title=" " alt="" coords="5,5,175,32"/>
<area shape="rect"  href="thread_8c.html#a71952b2b9a85a45eefed06338e901c02" title=" " alt="" coords="223,5,287,32"/>
</map>
</div>

</div>
</div>
<a id="a5fe6c59c3a8bc3fa868e98390dc90082"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fe6c59c3a8bc3fa868e98390dc90082">&#9670;&nbsp;</a></span>hashcat_session_checkpoint()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int hashcat_session_checkpoint </td>
          <td>(</td>
          <td class="paramtype">hashcat_ctx_t *&#160;</td>
          <td class="paramname"><em>hashcat_ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="hashcat_8c_source.html#l01124">1124</a> of file <a class="el" href="hashcat_8c_source.html">hashcat.c</a>.</p>
<div class="fragment"><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;{</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="thread_8c.html#a407cd4a9b55c6835837fbcaa2a85c8c1">stop_at_checkpoint</a> (hashcat_ctx);</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;}</div><div class="ttc" id="thread_8c_html_a407cd4a9b55c6835837fbcaa2a85c8c1"><div class="ttname"><a href="thread_8c.html#a407cd4a9b55c6835837fbcaa2a85c8c1">stop_at_checkpoint</a></div><div class="ttdeci">int stop_at_checkpoint(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="thread_8c_source.html#l00217">thread.c:217</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="thread_8c_source.html#l00217">stop_at_checkpoint()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_a5fe6c59c3a8bc3fa868e98390dc90082_cgraph.gif" border="0" usemap="#hashcat_8c_a5fe6c59c3a8bc3fa868e98390dc90082_cgraph" alt=""/></div>
<map name="hashcat_8c_a5fe6c59c3a8bc3fa868e98390dc90082_cgraph" id="hashcat_8c_a5fe6c59c3a8bc3fa868e98390dc90082_cgraph">
<area shape="rect"  title=" " alt="" coords="5,31,196,57"/>
<area shape="rect"  href="thread_8c.html#a407cd4a9b55c6835837fbcaa2a85c8c1" title=" " alt="" coords="244,31,379,57"/>
<area shape="rect"  href="event_8c.html#a10cc0b2c8645313456053b9427b6e802" title=" " alt="" coords="427,31,553,57"/>
<area shape="rect"  href="event_8c.html#a6221c6caa1d2069ad1c3103f0b013ef7" title=" " alt="" coords="601,5,680,32"/>
<area shape="rect"  href="event_8c.html#ad5a30ac9dc4301540e19643500eb78e4" title=" " alt="" coords="603,56,679,83"/>
</map>
</div>

</div>
</div>
<a id="aac7de5dfb85c0aa9bccebf9782855ffa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac7de5dfb85c0aa9bccebf9782855ffa">&#9670;&nbsp;</a></span>hashcat_session_destroy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int hashcat_session_destroy </td>
          <td>(</td>
          <td class="paramtype">hashcat_ctx_t *&#160;</td>
          <td class="paramname"><em>hashcat_ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="hashcat_8c_source.html#l01134">1134</a> of file <a class="el" href="hashcat_8c_source.html">hashcat.c</a>.</p>
<div class="fragment"><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;{</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;  <a class="code" href="debugfile_8c.html#ad31f1580a039859c3d460f5188a6d4bf">debugfile_destroy</a>          (hashcat_ctx);</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;  <a class="code" href="dictstat_8c.html#ae9532d881fef23c2dfdec3feb3ede663">dictstat_destroy</a>           (hashcat_ctx);</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;  <a class="code" href="folder_8c.html#afcb834a48a7cc81e6e5b9bf3f01b50ad">folder_config_destroy</a>      (hashcat_ctx);</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;  <a class="code" href="hwmon_8c.html#ae8452e58e555df1866df8f73f23eafb8">hwmon_ctx_destroy</a>          (hashcat_ctx);</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;  <a class="code" href="induct_8c.html#a12b7e62ced571bf76b05d4093804dba6">induct_ctx_destroy</a>         (hashcat_ctx);</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;  <a class="code" href="logfile_8c.html#a00c88f836bc7aba5dfea6111ca82cbf0">logfile_destroy</a>            (hashcat_ctx);</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;  <a class="code" href="loopback_8c.html#abc3086ed25718c18060d2e7ce9abe915">loopback_destroy</a>           (hashcat_ctx);</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;  <a class="code" href="opencl_8c.html#aaf7af14b90ddebf803664a71db062eb8">opencl_ctx_destroy</a>         (hashcat_ctx);</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;  <a class="code" href="opencl_8c.html#ad396991eeeeeb7702d0b4b1984a002c6">opencl_ctx_devices_destroy</a> (hashcat_ctx);</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;  <a class="code" href="outfile__check_8c.html#ab1da0b8c6b8992558d835a49ee010774">outcheck_ctx_destroy</a>       (hashcat_ctx);</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;  <a class="code" href="outfile_8c.html#a6e4787d7dc982a7fc97f848cf12f6430">outfile_destroy</a>            (hashcat_ctx);</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;  <a class="code" href="potfile_8c.html#abf2eed06c3b66408fecbdc7d261f3415">potfile_destroy</a>            (hashcat_ctx);</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;  <a class="code" href="restore_8c.html#a7a7c3f5bdbc5a6978800396c0e8a9a6d">restore_ctx_destroy</a>        (hashcat_ctx);</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;  <a class="code" href="tuningdb_8c.html#ad173fbff4a72cf56730b42fe672aeab3">tuning_db_destroy</a>          (hashcat_ctx);</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;  <a class="code" href="user__options_8c.html#a1c68a86e13902112464443b3e90cde83">user_options_destroy</a>       (hashcat_ctx);</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;  <a class="code" href="user__options_8c.html#a42ada21678aff2083c5e6efc6af24dd6">user_options_extra_destroy</a> (hashcat_ctx);</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;  <a class="code" href="status_8c.html#ad06b94943254ce85f496eec836e7948f">status_ctx_destroy</a>         (hashcat_ctx);</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;  <a class="code" href="event_8c.html#aebd1feee2d3eed3997dca9d46614abe2">event_ctx_destroy</a>          (hashcat_ctx);</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;}</div><div class="ttc" id="status_8c_html_ad06b94943254ce85f496eec836e7948f"><div class="ttname"><a href="status_8c.html#ad06b94943254ce85f496eec836e7948f">status_ctx_destroy</a></div><div class="ttdeci">void status_ctx_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01748">status.c:1748</a></div></div>
<div class="ttc" id="user__options_8c_html_a42ada21678aff2083c5e6efc6af24dd6"><div class="ttname"><a href="user__options_8c.html#a42ada21678aff2083c5e6efc6af24dd6">user_options_extra_destroy</a></div><div class="ttdeci">void user_options_extra_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="user__options_8c_source.html#l01181">user_options.c:1181</a></div></div>
<div class="ttc" id="outfile__check_8c_html_ab1da0b8c6b8992558d835a49ee010774"><div class="ttname"><a href="outfile__check_8c.html#ab1da0b8c6b8992558d835a49ee010774">outcheck_ctx_destroy</a></div><div class="ttdeci">void outcheck_ctx_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="outfile__check_8c_source.html#l00378">outfile_check.c:378</a></div></div>
<div class="ttc" id="folder_8c_html_afcb834a48a7cc81e6e5b9bf3f01b50ad"><div class="ttname"><a href="folder_8c.html#afcb834a48a7cc81e6e5b9bf3f01b50ad">folder_config_destroy</a></div><div class="ttdeci">void folder_config_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="folder_8c_source.html#l00475">folder.c:475</a></div></div>
<div class="ttc" id="event_8c_html_aebd1feee2d3eed3997dca9d46614abe2"><div class="ttname"><a href="event_8c.html#aebd1feee2d3eed3997dca9d46614abe2">event_ctx_destroy</a></div><div class="ttdeci">void event_ctx_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="event_8c_source.html#l00200">event.c:200</a></div></div>
<div class="ttc" id="user__options_8c_html_a1c68a86e13902112464443b3e90cde83"><div class="ttname"><a href="user__options_8c.html#a1c68a86e13902112464443b3e90cde83">user_options_destroy</a></div><div class="ttdeci">void user_options_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="user__options_8c_source.html#l00209">user_options.c:209</a></div></div>
<div class="ttc" id="opencl_8c_html_aaf7af14b90ddebf803664a71db062eb8"><div class="ttname"><a href="opencl_8c.html#aaf7af14b90ddebf803664a71db062eb8">opencl_ctx_destroy</a></div><div class="ttdeci">void opencl_ctx_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="opencl_8c_source.html#l02218">opencl.c:2218</a></div></div>
<div class="ttc" id="opencl_8c_html_ad396991eeeeeb7702d0b4b1984a002c6"><div class="ttname"><a href="opencl_8c.html#ad396991eeeeeb7702d0b4b1984a002c6">opencl_ctx_devices_destroy</a></div><div class="ttdeci">void opencl_ctx_devices_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="opencl_8c_source.html#l02978">opencl.c:2978</a></div></div>
<div class="ttc" id="induct_8c_html_a12b7e62ced571bf76b05d4093804dba6"><div class="ttname"><a href="induct_8c.html#a12b7e62ced571bf76b05d4093804dba6">induct_ctx_destroy</a></div><div class="ttdeci">void induct_ctx_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="induct_8c_source.html#l00111">induct.c:111</a></div></div>
<div class="ttc" id="loopback_8c_html_abc3086ed25718c18060d2e7ce9abe915"><div class="ttname"><a href="loopback_8c.html#abc3086ed25718c18060d2e7ce9abe915">loopback_destroy</a></div><div class="ttdeci">void loopback_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="loopback_8c_source.html#l00080">loopback.c:80</a></div></div>
<div class="ttc" id="dictstat_8c_html_ae9532d881fef23c2dfdec3feb3ede663"><div class="ttname"><a href="dictstat_8c.html#ae9532d881fef23c2dfdec3feb3ede663">dictstat_destroy</a></div><div class="ttdeci">void dictstat_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="dictstat_8c_source.html#l00066">dictstat.c:66</a></div></div>
<div class="ttc" id="debugfile_8c_html_ad31f1580a039859c3d460f5188a6d4bf"><div class="ttname"><a href="debugfile_8c.html#ad31f1580a039859c3d460f5188a6d4bf">debugfile_destroy</a></div><div class="ttdeci">void debugfile_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="debugfile_8c_source.html#l00136">debugfile.c:136</a></div></div>
<div class="ttc" id="hwmon_8c_html_ae8452e58e555df1866df8f73f23eafb8"><div class="ttname"><a href="hwmon_8c.html#ae8452e58e555df1866df8f73f23eafb8">hwmon_ctx_destroy</a></div><div class="ttdeci">void hwmon_ctx_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hwmon_8c_source.html#l04224">hwmon.c:4224</a></div></div>
<div class="ttc" id="potfile_8c_html_abf2eed06c3b66408fecbdc7d261f3415"><div class="ttname"><a href="potfile_8c.html#abf2eed06c3b66408fecbdc7d261f3415">potfile_destroy</a></div><div class="ttdeci">void potfile_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="potfile_8c_source.html#l00131">potfile.c:131</a></div></div>
<div class="ttc" id="restore_8c_html_a7a7c3f5bdbc5a6978800396c0e8a9a6d"><div class="ttname"><a href="restore_8c.html#a7a7c3f5bdbc5a6978800396c0e8a9a6d">restore_ctx_destroy</a></div><div class="ttdeci">void restore_ctx_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="restore_8c_source.html#l00412">restore.c:412</a></div></div>
<div class="ttc" id="tuningdb_8c_html_ad173fbff4a72cf56730b42fe672aeab3"><div class="ttname"><a href="tuningdb_8c.html#ad173fbff4a72cf56730b42fe672aeab3">tuning_db_destroy</a></div><div class="ttdeci">void tuning_db_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="tuningdb_8c_source.html#l00248">tuningdb.c:248</a></div></div>
<div class="ttc" id="logfile_8c_html_a00c88f836bc7aba5dfea6111ca82cbf0"><div class="ttname"><a href="logfile_8c.html#a00c88f836bc7aba5dfea6111ca82cbf0">logfile_destroy</a></div><div class="ttdeci">void logfile_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="logfile_8c_source.html#l00109">logfile.c:109</a></div></div>
<div class="ttc" id="outfile_8c_html_a6e4787d7dc982a7fc97f848cf12f6430"><div class="ttname"><a href="outfile_8c.html#a6e4787d7dc982a7fc97f848cf12f6430">outfile_destroy</a></div><div class="ttdeci">void outfile_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="outfile_8c_source.html#l00296">outfile.c:296</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="debugfile_8c_source.html#l00136">debugfile_destroy()</a>, <a class="el" href="dictstat_8c_source.html#l00066">dictstat_destroy()</a>, <a class="el" href="event_8c_source.html#l00200">event_ctx_destroy()</a>, <a class="el" href="folder_8c_source.html#l00475">folder_config_destroy()</a>, <a class="el" href="hwmon_8c_source.html#l04224">hwmon_ctx_destroy()</a>, <a class="el" href="induct_8c_source.html#l00111">induct_ctx_destroy()</a>, <a class="el" href="logfile_8c_source.html#l00109">logfile_destroy()</a>, <a class="el" href="loopback_8c_source.html#l00080">loopback_destroy()</a>, <a class="el" href="opencl_8c_source.html#l02218">opencl_ctx_destroy()</a>, <a class="el" href="opencl_8c_source.html#l02978">opencl_ctx_devices_destroy()</a>, <a class="el" href="outfile__check_8c_source.html#l00378">outcheck_ctx_destroy()</a>, <a class="el" href="outfile_8c_source.html#l00296">outfile_destroy()</a>, <a class="el" href="potfile_8c_source.html#l00131">potfile_destroy()</a>, <a class="el" href="restore_8c_source.html#l00412">restore_ctx_destroy()</a>, <a class="el" href="status_8c_source.html#l01748">status_ctx_destroy()</a>, <a class="el" href="tuningdb_8c_source.html#l00248">tuning_db_destroy()</a>, <a class="el" href="user__options_8c_source.html#l00209">user_options_destroy()</a>, and <a class="el" href="user__options_8c_source.html#l01181">user_options_extra_destroy()</a>.</p>

<p class="reference">Referenced by <a class="el" href="main_8c_source.html#l00871">main()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_aac7de5dfb85c0aa9bccebf9782855ffa_cgraph.gif" border="0" usemap="#hashcat_8c_aac7de5dfb85c0aa9bccebf9782855ffa_cgraph" alt=""/></div>
<map name="hashcat_8c_aac7de5dfb85c0aa9bccebf9782855ffa_cgraph" id="hashcat_8c_aac7de5dfb85c0aa9bccebf9782855ffa_cgraph">
<area shape="rect"  title=" " alt="" coords="5,1527,176,1554"/>
<area shape="rect"  href="debugfile_8c.html#ad31f1580a039859c3d460f5188a6d4bf" title=" " alt="" coords="236,625,359,651"/>
<area shape="rect"  href="dictstat_8c.html#ae9532d881fef23c2dfdec3feb3ede663" title=" " alt="" coords="733,1603,848,1630"/>
<area shape="rect"  href="event_8c.html#aebd1feee2d3eed3997dca9d46614abe2" title=" " alt="" coords="234,1806,361,1833"/>
<area shape="rect"  href="folder_8c.html#afcb834a48a7cc81e6e5b9bf3f01b50ad" title=" " alt="" coords="719,1654,863,1681"/>
<area shape="rect"  href="hwmon_8c.html#ae8452e58e555df1866df8f73f23eafb8" title=" " alt="" coords="228,675,367,702"/>
<area shape="rect"  href="induct_8c.html#a12b7e62ced571bf76b05d4093804dba6" title=" " alt="" coords="725,945,857,971"/>
<area shape="rect"  href="logfile_8c.html#a00c88f836bc7aba5dfea6111ca82cbf0" title=" " alt="" coords="245,1283,350,1310"/>
<area shape="rect"  href="loopback_8c.html#abc3086ed25718c18060d2e7ce9abe915" title=" " alt="" coords="235,1857,359,1883"/>
<area shape="rect"  href="opencl_8c.html#aaf7af14b90ddebf803664a71db062eb8" title=" " alt="" coords="230,1755,365,1782"/>
<area shape="rect"  href="opencl_8c.html#ad396991eeeeeb7702d0b4b1984a002c6" title=" " alt="" coords="230,1436,365,1477"/>
<area shape="rect"  href="outfile__check_8c.html#ab1da0b8c6b8992558d835a49ee010774" title=" " alt="" coords="715,995,866,1022"/>
<area shape="rect"  href="outfile_8c.html#a6e4787d7dc982a7fc97f848cf12f6430" title=" " alt="" coords="244,1907,351,1934"/>
<area shape="rect"  href="potfile_8c.html#abf2eed06c3b66408fecbdc7d261f3415" title=" " alt="" coords="244,1553,351,1579"/>
<area shape="rect"  href="restore_8c.html#a7a7c3f5bdbc5a6978800396c0e8a9a6d" title=" " alt="" coords="229,1705,366,1731"/>
<area shape="rect"  href="status_8c.html#ad06b94943254ce85f496eec836e7948f" title=" " alt="" coords="231,1334,364,1361"/>
<area shape="rect"  href="tuningdb_8c.html#ad173fbff4a72cf56730b42fe672aeab3" title=" " alt="" coords="233,1385,361,1411"/>
<area shape="rect"  href="user__options_8c.html#a1c68a86e13902112464443b3e90cde83" title=" " alt="" coords="224,1502,371,1529"/>
<area shape="rect"  href="user__options_8c.html#a42ada21678aff2083c5e6efc6af24dd6" title=" " alt="" coords="231,1959,363,2000"/>
<area shape="rect"  href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9" title=" " alt="" coords="994,1274,1051,1301"/>
<area shape="rect"  href="hwmon_8c.html#a7fb6b701162ce7b1e7147f128f3d771b" title=" " alt="" coords="439,441,593,483"/>
<area shape="rect"  href="event_8c.html#ab419d8d7e9b12e78980ed9f17bdd5ed5" title=" " alt="" coords="968,501,1077,527"/>
<area shape="rect"  href="hwmon_8c.html#aabd4a04cebf1c4aa45d643757d258e01" title=" " alt="" coords="447,727,585,768"/>
<area shape="rect"  href="hwmon_8c.html#ad6cc7a26798f12a053c75ed5158fb73d" title=" " alt="" coords="447,7,585,48"/>
<area shape="rect"  href="hwmon_8c.html#a36835ac03d3e3dfb70fa1c2919d64651" title=" " alt="" coords="439,72,593,113"/>
<area shape="rect"  href="hwmon_8c.html#a6486df51326b3620a38a70c42ef626ff" title=" " alt="" coords="661,122,920,149"/>
<area shape="rect"  href="hwmon_8c.html#ace33f15b56e2991a41cfb6cd0521b8ba" title=" " alt="" coords="669,173,912,199"/>
<area shape="rect"  href="memory_8c.html#aab4c3019b442ae19027f3e773214416b" title=" " alt="" coords="481,793,551,819"/>
<area shape="rect"  href="hwmon_8c.html#af9790a39d2cea64ac47244f356ee67cf" title=" " alt="" coords="693,223,889,250"/>
<area shape="rect"  href="hwmon_8c.html#a26d3701d98bd9b7d5ad3499362d2edb0" title=" " alt="" coords="691,777,890,819"/>
<area shape="rect"  href="hwmon_8c.html#a445eaf13c7f134df6fc7a34496d2b287" title=" " alt="" coords="685,275,896,316"/>
<area shape="rect"  href="hwmon_8c.html#a012ebc33285765b95b7e559cabceb91a" title=" " alt="" coords="429,366,603,393"/>
<area shape="rect"  href="hwmon_8c.html#ad15c3c89587e47ea19cc3ab6bbe1e8d3" title=" " alt="" coords="473,1046,559,1073"/>
<area shape="rect"  href="hwmon_8c.html#ac086f2e6a7de343d60fcfbb4e47f17b7" title=" " alt="" coords="451,507,581,534"/>
<area shape="rect"  href="hwmon_8c.html#a47f418268e5404e98ae3ae12658967cb" title=" " alt="" coords="471,1097,561,1123"/>
<area shape="rect"  href="hwmon_8c.html#ac48b5b256ae287d245f67354cee92cb3" title=" " alt="" coords="419,843,613,870"/>
<area shape="rect"  href="hwmon_8c.html#aaefc1a7ee4a42965b1578237ff590e92" title=" " alt="" coords="467,1147,565,1174"/>
<area shape="rect"  href="hwmon_8c.html#a3c038c6845e9d4eca0c40497b7e483ea" title=" " alt="" coords="439,559,593,600"/>
<area shape="rect"  href="hwmon_8c.html#a16dbfba615478076fe0137f37ad5a651" title=" " alt="" coords="477,1198,555,1225"/>
<area shape="rect"  href="hwmon_8c.html#ac08dce56176636e3eae7a4b496477f28" title=" " alt="" coords="471,1249,561,1275"/>
<area shape="rect"  href="hwmon_8c.html#a3f58a4eb046af89dc6781cec539a28b0" title=" " alt="" coords="675,391,906,418"/>
<area shape="rect"  href="hwmon_8c.html#a87d0f09b53eef379fa1389726d89ccc6" title=" " alt="" coords="675,442,906,469"/>
<area shape="rect"  href="hwmon_8c.html#ad3e1d04c956d7a7844d41bad48a9cb1d" title=" " alt="" coords="689,493,893,535"/>
<area shape="rect"  href="hwmon_8c.html#a109e8d0890d91dec43fc5748d8d34ae7" title=" " alt="" coords="689,559,893,600"/>
<area shape="rect"  href="event_8c.html#a6221c6caa1d2069ad1c3103f0b013ef7" title=" " alt="" coords="1125,475,1204,502"/>
<area shape="rect"  href="event_8c.html#ad5a30ac9dc4301540e19643500eb78e4" title=" " alt="" coords="1127,526,1203,553"/>
<area shape="rect"  href="hwmon_8c.html#ac22c5509e918ca08f2680959f93004ea" title=" " alt="" coords="697,843,884,870"/>
<area shape="rect"  href="hwmon_8c.html#ad08ecd1852396ddf397919a2b1e26fae" title=" " alt="" coords="714,5,867,47"/>
<area shape="rect"  href="hwmon_8c.html#a798e3ccdbd5f811ac24a47ad51bf6257" title=" " alt="" coords="682,71,899,98"/>
<area shape="rect"  href="opencl_8c.html#a25ddc684aefb841c950f28c294ada79b" title=" " alt="" coords="477,1806,555,1833"/>
</map>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_aac7de5dfb85c0aa9bccebf9782855ffa_icgraph.gif" border="0" usemap="#hashcat_8c_aac7de5dfb85c0aa9bccebf9782855ffa_icgraph" alt=""/></div>
<map name="hashcat_8c_aac7de5dfb85c0aa9bccebf9782855ffa_icgraph" id="hashcat_8c_aac7de5dfb85c0aa9bccebf9782855ffa_icgraph">
<area shape="rect"  title=" " alt="" coords="104,5,275,32"/>
<area shape="rect"  href="main_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title=" " alt="" coords="5,5,56,32"/>
</map>
</div>

</div>
</div>
<a id="ac49fece3f82732fda9eb29766cc01168"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac49fece3f82732fda9eb29766cc01168">&#9670;&nbsp;</a></span>hashcat_session_execute()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int hashcat_session_execute </td>
          <td>(</td>
          <td class="paramtype">hashcat_ctx_t *&#160;</td>
          <td class="paramname"><em>hashcat_ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>outer loop</p>

<p class="definition">Definition at line <a class="el" href="hashcat_8c_source.html#l01008">1008</a> of file <a class="el" href="hashcat_8c_source.html">hashcat.c</a>.</p>
<div class="fragment"><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;{</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;  logfile_ctx_t  *logfile_ctx  = hashcat_ctx-&gt;logfile_ctx;</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;  status_ctx_t   *status_ctx   = hashcat_ctx-&gt;status_ctx;</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;  user_options_t *user_options = hashcat_ctx-&gt;user_options;</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;  <span class="comment">// start logfile entry</span></div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;  <span class="keyword">const</span> time_t proc_start = time (NULL);</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;  <a class="code" href="logfile_8c.html#a24119994ed9731194ddbf45fccecc8be">logfile_generate_topid</a> (hashcat_ctx);</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;  logfile_top_msg (<span class="stringliteral">&quot;START&quot;</span>);</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;  <span class="comment">// add all user options to logfile in case we want to debug some user session</span></div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;  <a class="code" href="user__options_8c.html#a36f388b2297e9e1a6032869af83f3fd3">user_options_logger</a> (hashcat_ctx);</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;  <span class="comment">// read dictionary cache</span></div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;  <a class="code" href="dictstat_8c.html#af5372a3c8364682e3332998cf9ab1016">dictstat_read</a> (hashcat_ctx);</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;  EVENT (EVENT_OUTERLOOP_STARTING);</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;  <span class="keywordtype">int</span> rc_final = -1;</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;  <span class="keywordflow">if</span> (user_options-&gt;benchmark == <span class="keyword">true</span>)</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;  {</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;    user_options-&gt;quiet = <span class="keyword">true</span>;</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;    <span class="keywordflow">if</span> (user_options-&gt;hash_mode_chgd == <span class="keyword">true</span>)</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;    {</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;      rc_final = <a class="code" href="hashcat_8c.html#ac33e9695b713153c0fc7cce11696704b">outer_loop</a> (hashcat_ctx);</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;      <span class="keywordflow">if</span> (rc_final == -1) <a class="code" href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025">myabort</a> (hashcat_ctx);</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;    }</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;    {</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;      <span class="keywordflow">for</span> (u32 algorithm_pos = 0; algorithm_pos &lt; <a class="code" href="benchmark_8c.html#aa290701b334cd772fd30759227716cd8">DEFAULT_BENCHMARK_ALGORITHMS_CNT</a>; algorithm_pos++)</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;      {</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;        user_options-&gt;hash_mode = <a class="code" href="benchmark_8c.html#a7593a0fa994f47a83e307b4d2e11b4a0">DEFAULT_BENCHMARK_ALGORITHMS_BUF</a>[algorithm_pos];</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;        rc_final = <a class="code" href="hashcat_8c.html#ac33e9695b713153c0fc7cce11696704b">outer_loop</a> (hashcat_ctx);</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;        <span class="keywordflow">if</span> (rc_final == -1) <a class="code" href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025">myabort</a> (hashcat_ctx);</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;        <span class="keywordflow">if</span> (status_ctx-&gt;run_main_level1 == <span class="keyword">false</span>) <span class="keywordflow">break</span>;</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;      }</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;    }</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;    user_options-&gt;quiet = <span class="keyword">false</span>;</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;  }</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;  <span class="keywordflow">else</span></div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;  {</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;    <span class="keywordflow">if</span> (user_options-&gt;speed_only == <span class="keyword">true</span>) user_options-&gt;quiet = <span class="keyword">true</span>;</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;    rc_final = <a class="code" href="hashcat_8c.html#ac33e9695b713153c0fc7cce11696704b">outer_loop</a> (hashcat_ctx);</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;    <span class="keywordflow">if</span> (rc_final == -1) <a class="code" href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025">myabort</a> (hashcat_ctx);</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;    <span class="keywordflow">if</span> (user_options-&gt;speed_only == <span class="keyword">true</span>) user_options-&gt;quiet = <span class="keyword">false</span>;</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;  }</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;  EVENT (EVENT_OUTERLOOP_FINISHED);</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;  <span class="comment">// if exhausted or cracked, unlink the restore file</span></div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;  <a class="code" href="restore_8c.html#ab43f116bd70847f967043f70d2b2d270">unlink_restore</a> (hashcat_ctx);</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;  <span class="comment">// final update dictionary cache</span></div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;  <a class="code" href="dictstat_8c.html#a209f066c1a08c9a01d809f89b176627c">dictstat_write</a> (hashcat_ctx);</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;  <span class="comment">// final logfile entry</span></div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;  <span class="keyword">const</span> time_t proc_stop = time (NULL);</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;  logfile_top_uint (proc_start);</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;  logfile_top_uint (proc_stop);</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;  logfile_top_msg (<span class="stringliteral">&quot;STOP&quot;</span>);</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;  <span class="comment">// free memory</span></div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;  <span class="keywordflow">if</span> (rc_final == 0)</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;  {</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;    <span class="keywordflow">if</span> (status_ctx-&gt;devices_status == STATUS_ABORTED)   rc_final = 2;</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;    <span class="keywordflow">if</span> (status_ctx-&gt;devices_status == STATUS_QUIT)      rc_final = 2;</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;    <span class="keywordflow">if</span> (status_ctx-&gt;devices_status == STATUS_EXHAUSTED) rc_final = 1;</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;    <span class="keywordflow">if</span> (status_ctx-&gt;devices_status == STATUS_CRACKED)   rc_final = 0;</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;  }</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;  <span class="comment">// done</span></div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;  <span class="keywordflow">return</span> rc_final;</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;}</div><div class="ttc" id="dictstat_8c_html_a209f066c1a08c9a01d809f89b176627c"><div class="ttname"><a href="dictstat_8c.html#a209f066c1a08c9a01d809f89b176627c">dictstat_write</a></div><div class="ttdeci">int dictstat_write(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="dictstat_8c_source.html#l00114">dictstat.c:114</a></div></div>
<div class="ttc" id="restore_8c_html_ab43f116bd70847f967043f70d2b2d270"><div class="ttname"><a href="restore_8c.html#ab43f116bd70847f967043f70d2b2d270">unlink_restore</a></div><div class="ttdeci">void unlink_restore(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="restore_8c_source.html#l00314">restore.c:314</a></div></div>
<div class="ttc" id="dictstat_8c_html_af5372a3c8364682e3332998cf9ab1016"><div class="ttname"><a href="dictstat_8c.html#af5372a3c8364682e3332998cf9ab1016">dictstat_read</a></div><div class="ttdeci">void dictstat_read(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="dictstat_8c_source.html#l00078">dictstat.c:78</a></div></div>
<div class="ttc" id="user__options_8c_html_a36f388b2297e9e1a6032869af83f3fd3"><div class="ttname"><a href="user__options_8c.html#a36f388b2297e9e1a6032869af83f3fd3">user_options_logger</a></div><div class="ttdeci">void user_options_logger(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="user__options_8c_source.html#l01220">user_options.c:1220</a></div></div>
<div class="ttc" id="benchmark_8c_html_a7593a0fa994f47a83e307b4d2e11b4a0"><div class="ttname"><a href="benchmark_8c.html#a7593a0fa994f47a83e307b4d2e11b4a0">DEFAULT_BENCHMARK_ALGORITHMS_BUF</a></div><div class="ttdeci">const unsigned int DEFAULT_BENCHMARK_ALGORITHMS_BUF[]</div><div class="ttdef"><b>Definition:</b> <a href="benchmark_8c_source.html#l00011">benchmark.c:11</a></div></div>
<div class="ttc" id="logfile_8c_html_a24119994ed9731194ddbf45fccecc8be"><div class="ttname"><a href="logfile_8c.html#a24119994ed9731194ddbf45fccecc8be">logfile_generate_topid</a></div><div class="ttdeci">void logfile_generate_topid(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="logfile_8c_source.html#l00024">logfile.c:24</a></div></div>
<div class="ttc" id="thread_8c_html_a756f3c490d9f1c3c8b311c7caa1b0025"><div class="ttname"><a href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025">myabort</a></div><div class="ttdeci">int myabort(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="thread_8c_source.html#l00136">thread.c:136</a></div></div>
<div class="ttc" id="benchmark_8c_html_aa290701b334cd772fd30759227716cd8"><div class="ttname"><a href="benchmark_8c.html#aa290701b334cd772fd30759227716cd8">DEFAULT_BENCHMARK_ALGORITHMS_CNT</a></div><div class="ttdeci">const unsigned int DEFAULT_BENCHMARK_ALGORITHMS_CNT</div><div class="ttdef"><b>Definition:</b> <a href="benchmark_8c_source.html#l00009">benchmark.c:9</a></div></div>
<div class="ttc" id="hashcat_8c_html_ac33e9695b713153c0fc7cce11696704b"><div class="ttname"><a href="hashcat_8c.html#ac33e9695b713153c0fc7cce11696704b">outer_loop</a></div><div class="ttdeci">static int outer_loop(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hashcat_8c_source.html#l00376">hashcat.c:376</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="benchmark_8c_source.html#l00011">DEFAULT_BENCHMARK_ALGORITHMS_BUF</a>, <a class="el" href="benchmark_8c_source.html#l00009">DEFAULT_BENCHMARK_ALGORITHMS_CNT</a>, <a class="el" href="dictstat_8c_source.html#l00078">dictstat_read()</a>, <a class="el" href="dictstat_8c_source.html#l00114">dictstat_write()</a>, <a class="el" href="logfile_8c_source.html#l00024">logfile_generate_topid()</a>, <a class="el" href="thread_8c_source.html#l00136">myabort()</a>, <a class="el" href="hashcat_8c_source.html#l00376">outer_loop()</a>, <a class="el" href="restore_8c_source.html#l00314">unlink_restore()</a>, and <a class="el" href="user__options_8c_source.html#l01220">user_options_logger()</a>.</p>

<p class="reference">Referenced by <a class="el" href="main_8c_source.html#l00871">main()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_ac49fece3f82732fda9eb29766cc01168_cgraph.gif" border="0" usemap="#hashcat_8c_ac49fece3f82732fda9eb29766cc01168_cgraph" alt=""/></div>
<map name="hashcat_8c_ac49fece3f82732fda9eb29766cc01168_cgraph" id="hashcat_8c_ac49fece3f82732fda9eb29766cc01168_cgraph">
<area shape="rect"  title=" " alt="" coords="5,1099,179,1126"/>
<area shape="rect"  href="dictstat_8c.html#af5372a3c8364682e3332998cf9ab1016" title=" " alt="" coords="251,238,349,265"/>
<area shape="rect"  href="dictstat_8c.html#a209f066c1a08c9a01d809f89b176627c" title=" " alt="" coords="455,187,553,214"/>
<area shape="rect"  href="logfile_8c.html#a24119994ed9731194ddbf45fccecc8be" title=" " alt="" coords="227,1150,373,1177"/>
<area shape="rect"  href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025" title=" " alt="" coords="655,86,724,113"/>
<area shape="rect"  href="hashcat_8c.html#ac33e9695b713153c0fc7cce11696704b" title=" " alt="" coords="259,1099,341,1126"/>
<area shape="rect"  href="restore_8c.html#ab43f116bd70847f967043f70d2b2d270" title=" " alt="" coords="249,1201,351,1227"/>
<area shape="rect"  href="user__options_8c.html#a36f388b2297e9e1a6032869af83f3fd3" title=" " alt="" coords="231,1251,369,1278"/>
<area shape="rect"  href="event_8c.html#ab419d8d7e9b12e78980ed9f17bdd5ed5" title=" " alt="" coords="635,542,744,569"/>
<area shape="rect"  href="dictstat_8c.html#ab8f8ed6535648f81e386988489e42a0b" title=" " alt="" coords="447,35,561,62"/>
<area shape="rect"  href="event_8c.html#a6221c6caa1d2069ad1c3103f0b013ef7" title=" " alt="" coords="792,542,871,569"/>
<area shape="rect"  href="locking_8c.html#a29a00825c15274df14db9bf40c016d65" title=" " alt="" coords="655,238,724,265"/>
<area shape="rect"  href="logfile_8c.html#accf59abaaeabe6847e709963497151af" title=" " alt="" coords="439,2163,569,2190"/>
<area shape="rect"  href="interface_8c.html#a748d227a9485eb76daa5f1e70ea9badc" title=" " alt="" coords="450,1049,558,1075"/>
<area shape="rect"  href="hashes_8c.html#aa009c18f9bedd6179e77e24c5752807e" title=" " alt="" coords="437,1251,571,1278"/>
<area shape="rect"  href="memory_8c.html#aab4c3019b442ae19027f3e773214416b" title=" " alt="" coords="654,1302,725,1329"/>
<area shape="rect"  href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9" title=" " alt="" coords="661,1707,718,1734"/>
<area shape="rect"  href="hashes_8c.html#ae4bb063e0f3323bd811e98dde95bf38c" title=" " alt="" coords="437,1505,571,1531"/>
<area shape="rect"  href="potfile_8c.html#ab34391a2f48c7208b15946dd8759eeea" title=" " alt="" coords="433,2062,575,2089"/>
<area shape="rect"  href="hashes_8c.html#af1c27b3415b5b67e612af9692facab77" title=" " alt="" coords="437,390,571,417"/>
<area shape="rect"  href="outfile_8c.html#a2085d3798d2f36b34c3d3a87604364dc" title=" " alt="" coords="441,289,567,315"/>
<area shape="rect"  href="potfile_8c.html#ab54e1941ce1ee998c5b86e79d6e57bbc" title=" " alt="" coords="435,491,573,518"/>
<area shape="rect"  href="outfile_8c.html#a0ee7c764adf45c57931ed799c23f6c64" title=" " alt="" coords="440,593,568,619"/>
<area shape="rect"  href="potfile_8c.html#aa340141d20febc4004a75982ea4927b2" title=" " alt="" coords="441,643,567,670"/>
<area shape="rect"  href="hashes_8c.html#a0feb70b2b982fa8f2a474aa55dab16f0" title=" " alt="" coords="437,2113,571,2139"/>
<area shape="rect"  href="hashes_8c.html#aa62276b71d23a942d8f391960aa7ac04" title=" " alt="" coords="451,694,557,721"/>
<area shape="rect"  href="bitmap_8c.html#a6adb3c98282093e460f8d5d447f9978e" title=" " alt="" coords="449,745,559,771"/>
<area shape="rect"  href="cpt_8c.html#a94ff4cb0d3e08d0ee05fec84d6fcdc0a" title=" " alt="" coords="459,1302,549,1329"/>
<area shape="rect"  href="wordlist_8c.html#abcca435210ba227305f33bc5c5bab1eb" title=" " alt="" coords="459,795,549,822"/>
<area shape="rect"  href="straight_8c.html#ac38042838c02bcb1ca4b24b87047b34d" title=" " alt="" coords="447,1454,561,1481"/>
<area shape="rect"  href="combinator_8c.html#a195623f28a518e91120db41b0c99665e" title=" " alt="" coords="437,339,571,366"/>
<area shape="rect"  href="mpsp_8c.html#abfd45301318eec38b75a094fff49b551" title=" " alt="" coords="453,1403,555,1430"/>
<area shape="rect"  href="status_8c.html#a21567dc2141a401f17e1ae8366d90faa" title=" " alt="" coords="435,1353,573,1379"/>
<area shape="rect"  href="opencl_8c.html#a25858ed9c49bd2972bb375ec8190c2ba" title=" " alt="" coords="429,1201,579,1227"/>
<area shape="rect"  href="potfile_8c.html#a9a20566f4dc9a8087b28cf0f1f26deb5" title=" " alt="" coords="441,441,567,467"/>
<area shape="rect"  href="weak__hash_8c.html#a410a6e1cce44e8f0c4cde8ec7d00ecd8" title=" " alt="" coords="439,846,569,873"/>
<area shape="rect"  href="monitor_8c.html#ab9ac4a7731cf2a12f37be8fcdaa38a43" title=" " alt="" coords="450,897,558,923"/>
<area shape="rect"  href="outfile__check_8c.html#aa0e20db36255679b69e7423e65995f99" title=" " alt="" coords="431,947,577,974"/>
<area shape="rect"  href="hashcat_8c.html#ad6cc36d03dcdad3413c794efecb3178a" title=" " alt="" coords="460,86,548,113"/>
<area shape="rect"  href="potfile_8c.html#a9ee3ac56146461a23280534ead6efb4c" title=" " alt="" coords="440,998,568,1025"/>
<area shape="rect"  href="opencl_8c.html#a66caf323d4e30c7308902b35985b3681" title=" " alt="" coords="423,1555,585,1582"/>
<area shape="rect"  href="bitmap_8c.html#a241600b2e8ac6220a69bfbd790ed1716" title=" " alt="" coords="436,1606,572,1633"/>
<area shape="rect"  href="combinator_8c.html#ad5439b2b7e1346532d5589627dfa5bfe" title=" " alt="" coords="423,1859,585,1886"/>
<area shape="rect"  href="cpt_8c.html#a042b8e1abbdd85901fd79043e54bf15b" title=" " alt="" coords="447,1910,561,1937"/>
<area shape="rect"  href="interface_8c.html#a17b836ef1b3b01da3cfa12ed819d3256" title=" " alt="" coords="437,1150,571,1177"/>
<area shape="rect"  href="hashes_8c.html#a2aaa2d8f74bf125b61ef8cd40075d33e" title=" " alt="" coords="447,1961,561,1987"/>
<area shape="rect"  href="mpsp_8c.html#a77eea57947217569f59bc6721e5436dc" title=" " alt="" coords="439,1657,569,1683"/>
<area shape="rect"  href="status_8c.html#a5a4742a8d97345579ef1cb79a7fbdc2d" title=" " alt="" coords="421,1707,587,1734"/>
<area shape="rect"  href="straight_8c.html#ac0be3b8a2fb9940d665d2e533a3b1160" title=" " alt="" coords="434,1758,574,1785"/>
<area shape="rect"  href="wordlist_8c.html#a11676ed777f62dd7e35f4a9980329088" title=" " alt="" coords="446,1809,562,1835"/>
</map>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_ac49fece3f82732fda9eb29766cc01168_icgraph.gif" border="0" usemap="#hashcat_8c_ac49fece3f82732fda9eb29766cc01168_icgraph" alt=""/></div>
<map name="hashcat_8c_ac49fece3f82732fda9eb29766cc01168_icgraph" id="hashcat_8c_ac49fece3f82732fda9eb29766cc01168_icgraph">
<area shape="rect"  title=" " alt="" coords="104,5,277,32"/>
<area shape="rect"  href="main_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title=" " alt="" coords="5,5,56,32"/>
</map>
</div>

</div>
</div>
<a id="a9f3f1b757bdc2a874b4bb0dc657bde1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f3f1b757bdc2a874b4bb0dc657bde1d">&#9670;&nbsp;</a></span>hashcat_session_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int hashcat_session_init </td>
          <td>(</td>
          <td class="paramtype">hashcat_ctx_t *&#160;</td>
          <td class="paramname"><em>hashcat_ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>install_folder</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>shared_folder</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>argv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>comptime</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>event init (needed for logging so should be first)</p>
<p>status init</p>
<p>folder</p>
<p>restore</p>
<p>process user input</p>
<p>logfile</p>
<p>cpu affinity</p>
<p>prepare seeding for random number generator, required by logfile and rules generator</p>
<p>To help users a bit</p>
<p>tuning db</p>
<p>induction directory</p>
<p>outfile-check directory</p>
<p>outfile itself</p>
<p>Sanity check for hashfile vs outfile (should not point to the same physical file)</p>
<p>potfile init this is only setting path because potfile can be used in read and write mode depending on user options plus it depends on hash_mode, so we continue using it in outer_loop</p>
<p>dictstat init</p>
<p>loopback init</p>
<p>debugfile init</p>
<p>Init OpenCL library loader</p>
<p>Init OpenCL devices</p>
<p>HM devices: init</p>

<p class="definition">Definition at line <a class="el" href="hashcat_8c_source.html#l00833">833</a> of file <a class="el" href="hashcat_8c_source.html">hashcat.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;{</div><div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;  user_options_t *user_options = hashcat_ctx-&gt;user_options;</div><div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_event_init = <a class="code" href="event_8c.html#a15a670f94d03c6e5d9a8bd45c3915889">event_ctx_init</a> (hashcat_ctx);</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;  <span class="keywordflow">if</span> (rc_event_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_status_init = <a class="code" href="status_8c.html#ae982352273cb0e2f7e30ffd84f598bfe">status_ctx_init</a> (hashcat_ctx);</div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;</div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;  <span class="keywordflow">if</span> (rc_status_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;</div><div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_folder_config_init = <a class="code" href="folder_8c.html#a6685756c6c027b0fb21b7b357326b358">folder_config_init</a> (hashcat_ctx, install_folder, shared_folder);</div><div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;</div><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;  <span class="keywordflow">if</span> (rc_folder_config_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;</div><div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_restore_init = <a class="code" href="restore_8c.html#a1df95aadfb011851b43c7299c91851c1">restore_ctx_init</a> (hashcat_ctx, argc, argv);</div><div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;</div><div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;  <span class="keywordflow">if</span> (rc_restore_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;</div><div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;  <a class="code" href="user__options_8c.html#a15d54f75dce3b2b5e2ece75faaeaed70">user_options_preprocess</a> (hashcat_ctx);</div><div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;</div><div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;  <a class="code" href="user__options_8c.html#a69e1aafb136190d6c8282838a55a155b">user_options_extra_init</a> (hashcat_ctx);</div><div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;</div><div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_logfile_init = <a class="code" href="logfile_8c.html#a4f19671b53c417b49b3d066631596495">logfile_init</a> (hashcat_ctx);</div><div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;</div><div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;  <span class="keywordflow">if</span> (rc_logfile_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;</div><div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_affinity = <a class="code" href="affinity_8c.html#a664f40010a232a9b7a6621128f0988d2">set_cpu_affinity</a> (hashcat_ctx);</div><div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;</div><div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;  <span class="keywordflow">if</span> (rc_affinity == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;</div><div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;  <a class="code" href="shared_8c.html#aa9d3b954c23d31f69d8c976490457da6">setup_seeding</a> (user_options-&gt;rp_gen_seed_chgd, user_options-&gt;rp_gen_seed);</div><div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;</div><div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;  <a class="code" href="shared_8c.html#a2657fd919185f7516449e460e3cbeefa">setup_environment_variables</a> ();</div><div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;</div><div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;  <a class="code" href="shared_8c.html#ad3cf1b86213af6a19cdd7d2e8fa2ef2e">setup_umask</a> ();</div><div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;</div><div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_tuning_db = <a class="code" href="tuningdb_8c.html#a82500a48411a912fa748e692dbafa187">tuning_db_init</a> (hashcat_ctx);</div><div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;</div><div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;  <span class="keywordflow">if</span> (rc_tuning_db == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;</div><div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_induct_ctx_init = <a class="code" href="induct_8c.html#ae311757af7f13bf163ecd0ec8d32098c">induct_ctx_init</a> (hashcat_ctx);</div><div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;</div><div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;  <span class="keywordflow">if</span> (rc_induct_ctx_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;</div><div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_outcheck_ctx_init = <a class="code" href="outfile__check_8c.html#aad66c1c8a9f9bebd41699c024aeac309">outcheck_ctx_init</a> (hashcat_ctx);</div><div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;</div><div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;  <span class="keywordflow">if</span> (rc_outcheck_ctx_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;</div><div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_outfile_init = <a class="code" href="outfile_8c.html#ab9cb34b09189a2f1b4a6e0e0c3519526">outfile_init</a> (hashcat_ctx);</div><div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;</div><div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;  <span class="keywordflow">if</span> (rc_outfile_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;</div><div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_outfile_and_hashfile = <a class="code" href="outfile_8c.html#a596aa33c54c0b30afa011785439f0750">outfile_and_hashfile</a> (hashcat_ctx);</div><div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;</div><div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;  <span class="keywordflow">if</span> (rc_outfile_and_hashfile == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;</div><div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_potfile_init = <a class="code" href="potfile_8c.html#a3e476c572de83cafc38291a5495089d0">potfile_init</a> (hashcat_ctx);</div><div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;</div><div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;  <span class="keywordflow">if</span> (rc_potfile_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;</div><div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_dictstat_init = <a class="code" href="dictstat_8c.html#ae37d0c9510bce4dcbed76a83048228b8">dictstat_init</a> (hashcat_ctx);</div><div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;</div><div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;  <span class="keywordflow">if</span> (rc_dictstat_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;</div><div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_loopback_init = <a class="code" href="loopback_8c.html#a6b354960bbd860a3f3a7d65a61163c8d">loopback_init</a> (hashcat_ctx);</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;</div><div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;  <span class="keywordflow">if</span> (rc_loopback_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;</div><div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_debugfile_init = <a class="code" href="debugfile_8c.html#a60c0a245b9b00da84b0121248645560b">debugfile_init</a> (hashcat_ctx);</div><div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;</div><div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;  <span class="keywordflow">if</span> (rc_debugfile_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;</div><div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_opencl_init = <a class="code" href="opencl_8c.html#a6fa98b71be155005b9a5cc117771eab7">opencl_ctx_init</a> (hashcat_ctx);</div><div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;</div><div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;  <span class="keywordflow">if</span> (rc_opencl_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;</div><div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_devices_init = <a class="code" href="opencl_8c.html#a3d3f2e16deeb5c4ce2ce3fa8e5c99245">opencl_ctx_devices_init</a> (hashcat_ctx, comptime);</div><div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;</div><div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;  <span class="keywordflow">if</span> (rc_devices_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_hwmon_init = <a class="code" href="hwmon_8c.html#a6db48ad4f8b9c42fb1eab2a8341bb85d">hwmon_ctx_init</a> (hashcat_ctx);</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;  <span class="keywordflow">if</span> (rc_hwmon_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;}</div><div class="ttc" id="loopback_8c_html_a6b354960bbd860a3f3a7d65a61163c8d"><div class="ttname"><a href="loopback_8c.html#a6b354960bbd860a3f3a7d65a61163c8d">loopback_init</a></div><div class="ttdeci">int loopback_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="loopback_8c_source.html#l00056">loopback.c:56</a></div></div>
<div class="ttc" id="opencl_8c_html_a3d3f2e16deeb5c4ce2ce3fa8e5c99245"><div class="ttname"><a href="opencl_8c.html#a3d3f2e16deeb5c4ce2ce3fa8e5c99245">opencl_ctx_devices_init</a></div><div class="ttdeci">int opencl_ctx_devices_init(hashcat_ctx_t *hashcat_ctx, const int comptime)</div><div class="ttdef"><b>Definition:</b> <a href="opencl_8c_source.html#l02235">opencl.c:2235</a></div></div>
<div class="ttc" id="tuningdb_8c_html_a82500a48411a912fa748e692dbafa187"><div class="ttname"><a href="tuningdb_8c.html#a82500a48411a912fa748e692dbafa187">tuning_db_init</a></div><div class="ttdeci">int tuning_db_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="tuningdb_8c_source.html#l00053">tuningdb.c:53</a></div></div>
<div class="ttc" id="restore_8c_html_a1df95aadfb011851b43c7299c91851c1"><div class="ttname"><a href="restore_8c.html#a1df95aadfb011851b43c7299c91851c1">restore_ctx_init</a></div><div class="ttdeci">int restore_ctx_init(hashcat_ctx_t *hashcat_ctx, int argc, char **argv)</div><div class="ttdef"><b>Definition:</b> <a href="restore_8c_source.html#l00334">restore.c:334</a></div></div>
<div class="ttc" id="affinity_8c_html_a664f40010a232a9b7a6621128f0988d2"><div class="ttname"><a href="affinity_8c.html#a664f40010a232a9b7a6621128f0988d2">set_cpu_affinity</a></div><div class="ttdeci">int set_cpu_affinity(MAYBE_UNUSED hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="affinity_8c_source.html#l00048">affinity.c:48</a></div></div>
<div class="ttc" id="debugfile_8c_html_a60c0a245b9b00da84b0121248645560b"><div class="ttname"><a href="debugfile_8c.html#a60c0a245b9b00da84b0121248645560b">debugfile_init</a></div><div class="ttdeci">int debugfile_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="debugfile_8c_source.html#l00082">debugfile.c:82</a></div></div>
<div class="ttc" id="hwmon_8c_html_a6db48ad4f8b9c42fb1eab2a8341bb85d"><div class="ttname"><a href="hwmon_8c.html#a6db48ad4f8b9c42fb1eab2a8341bb85d">hwmon_ctx_init</a></div><div class="ttdeci">int hwmon_ctx_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hwmon_8c_source.html#l03525">hwmon.c:3525</a></div></div>
<div class="ttc" id="outfile_8c_html_ab9cb34b09189a2f1b4a6e0e0c3519526"><div class="ttname"><a href="outfile_8c.html#ab9cb34b09189a2f1b4a6e0e0c3519526">outfile_init</a></div><div class="ttdeci">int outfile_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="outfile_8c_source.html#l00277">outfile.c:277</a></div></div>
<div class="ttc" id="outfile_8c_html_a596aa33c54c0b30afa011785439f0750"><div class="ttname"><a href="outfile_8c.html#a596aa33c54c0b30afa011785439f0750">outfile_and_hashfile</a></div><div class="ttdeci">int outfile_and_hashfile(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="outfile_8c_source.html#l00448">outfile.c:448</a></div></div>
<div class="ttc" id="opencl_8c_html_a6fa98b71be155005b9a5cc117771eab7"><div class="ttname"><a href="opencl_8c.html#a6fa98b71be155005b9a5cc117771eab7">opencl_ctx_init</a></div><div class="ttdeci">int opencl_ctx_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="opencl_8c_source.html#l02023">opencl.c:2023</a></div></div>
<div class="ttc" id="folder_8c_html_a6685756c6c027b0fb21b7b357326b358"><div class="ttname"><a href="folder_8c.html#a6685756c6c027b0fb21b7b357326b358">folder_config_init</a></div><div class="ttdeci">int folder_config_init(hashcat_ctx_t *hashcat_ctx, MAYBE_UNUSED const char *install_folder, MAYBE_UNUSED const char *shared_folder)</div><div class="ttdef"><b>Definition:</b> <a href="folder_8c_source.html#l00268">folder.c:268</a></div></div>
<div class="ttc" id="dictstat_8c_html_ae37d0c9510bce4dcbed76a83048228b8"><div class="ttname"><a href="dictstat_8c.html#ae37d0c9510bce4dcbed76a83048228b8">dictstat_init</a></div><div class="ttdeci">int dictstat_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="dictstat_8c_source.html#l00027">dictstat.c:27</a></div></div>
<div class="ttc" id="shared_8c_html_ad3cf1b86213af6a19cdd7d2e8fa2ef2e"><div class="ttname"><a href="shared_8c.html#ad3cf1b86213af6a19cdd7d2e8fa2ef2e">setup_umask</a></div><div class="ttdeci">void setup_umask()</div><div class="ttdef"><b>Definition:</b> <a href="shared_8c_source.html#l00234">shared.c:234</a></div></div>
<div class="ttc" id="induct_8c_html_ae311757af7f13bf163ecd0ec8d32098c"><div class="ttname"><a href="induct_8c.html#ae311757af7f13bf163ecd0ec8d32098c">induct_ctx_init</a></div><div class="ttdeci">int induct_ctx_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="induct_8c_source.html#l00025">induct.c:25</a></div></div>
<div class="ttc" id="outfile__check_8c_html_aad66c1c8a9f9bebd41699c024aeac309"><div class="ttname"><a href="outfile__check_8c.html#aad66c1c8a9f9bebd41699c024aeac309">outcheck_ctx_init</a></div><div class="ttdeci">int outcheck_ctx_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="outfile__check_8c_source.html#l00319">outfile_check.c:319</a></div></div>
<div class="ttc" id="user__options_8c_html_a69e1aafb136190d6c8282838a55a155b"><div class="ttname"><a href="user__options_8c.html#a69e1aafb136190d6c8282838a55a155b">user_options_extra_init</a></div><div class="ttdeci">void user_options_extra_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="user__options_8c_source.html#l01109">user_options.c:1109</a></div></div>
<div class="ttc" id="shared_8c_html_a2657fd919185f7516449e460e3cbeefa"><div class="ttname"><a href="shared_8c.html#a2657fd919185f7516449e460e3cbeefa">setup_environment_variables</a></div><div class="ttdeci">void setup_environment_variables()</div><div class="ttdef"><b>Definition:</b> <a href="shared_8c_source.html#l00182">shared.c:182</a></div></div>
<div class="ttc" id="shared_8c_html_aa9d3b954c23d31f69d8c976490457da6"><div class="ttname"><a href="shared_8c.html#aa9d3b954c23d31f69d8c976490457da6">setup_seeding</a></div><div class="ttdeci">void setup_seeding(const bool rp_gen_seed_chgd, const u32 rp_gen_seed)</div><div class="ttdef"><b>Definition:</b> <a href="shared_8c_source.html#l00239">shared.c:239</a></div></div>
<div class="ttc" id="user__options_8c_html_a15d54f75dce3b2b5e2ece75faaeaed70"><div class="ttname"><a href="user__options_8c.html#a15d54f75dce3b2b5e2ece75faaeaed70">user_options_preprocess</a></div><div class="ttdeci">void user_options_preprocess(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="user__options_8c_source.html#l00910">user_options.c:910</a></div></div>
<div class="ttc" id="status_8c_html_ae982352273cb0e2f7e30ffd84f598bfe"><div class="ttname"><a href="status_8c.html#ae982352273cb0e2f7e30ffd84f598bfe">status_ctx_init</a></div><div class="ttdeci">int status_ctx_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01721">status.c:1721</a></div></div>
<div class="ttc" id="potfile_8c_html_a3e476c572de83cafc38291a5495089d0"><div class="ttname"><a href="potfile_8c.html#a3e476c572de83cafc38291a5495089d0">potfile_init</a></div><div class="ttdeci">int potfile_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="potfile_8c_source.html#l00078">potfile.c:78</a></div></div>
<div class="ttc" id="logfile_8c_html_a4f19671b53c417b49b3d066631596495"><div class="ttname"><a href="logfile_8c.html#a4f19671b53c417b49b3d066631596495">logfile_init</a></div><div class="ttdeci">int logfile_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="logfile_8c_source.html#l00078">logfile.c:78</a></div></div>
<div class="ttc" id="event_8c_html_a15a670f94d03c6e5d9a8bd45c3915889"><div class="ttname"><a href="event_8c.html#a15a670f94d03c6e5d9a8bd45c3915889">event_ctx_init</a></div><div class="ttdeci">int event_ctx_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="event_8c_source.html#l00189">event.c:189</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="debugfile_8c_source.html#l00082">debugfile_init()</a>, <a class="el" href="dictstat_8c_source.html#l00027">dictstat_init()</a>, <a class="el" href="event_8c_source.html#l00189">event_ctx_init()</a>, <a class="el" href="folder_8c_source.html#l00268">folder_config_init()</a>, <a class="el" href="hwmon_8c_source.html#l03525">hwmon_ctx_init()</a>, <a class="el" href="induct_8c_source.html#l00025">induct_ctx_init()</a>, <a class="el" href="logfile_8c_source.html#l00078">logfile_init()</a>, <a class="el" href="loopback_8c_source.html#l00056">loopback_init()</a>, <a class="el" href="opencl_8c_source.html#l02235">opencl_ctx_devices_init()</a>, <a class="el" href="opencl_8c_source.html#l02023">opencl_ctx_init()</a>, <a class="el" href="outfile__check_8c_source.html#l00319">outcheck_ctx_init()</a>, <a class="el" href="outfile_8c_source.html#l00448">outfile_and_hashfile()</a>, <a class="el" href="outfile_8c_source.html#l00277">outfile_init()</a>, <a class="el" href="potfile_8c_source.html#l00078">potfile_init()</a>, <a class="el" href="restore_8c_source.html#l00334">restore_ctx_init()</a>, <a class="el" href="affinity_8c_source.html#l00048">set_cpu_affinity()</a>, <a class="el" href="shared_8c_source.html#l00182">setup_environment_variables()</a>, <a class="el" href="shared_8c_source.html#l00239">setup_seeding()</a>, <a class="el" href="shared_8c_source.html#l00234">setup_umask()</a>, <a class="el" href="status_8c_source.html#l01721">status_ctx_init()</a>, <a class="el" href="tuningdb_8c_source.html#l00053">tuning_db_init()</a>, <a class="el" href="user__options_8c_source.html#l01109">user_options_extra_init()</a>, and <a class="el" href="user__options_8c_source.html#l00910">user_options_preprocess()</a>.</p>

<p class="reference">Referenced by <a class="el" href="main_8c_source.html#l00871">main()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_a9f3f1b757bdc2a874b4bb0dc657bde1d_cgraph.gif" border="0" usemap="#hashcat_8c_a9f3f1b757bdc2a874b4bb0dc657bde1d_cgraph" alt=""/></div>
<map name="hashcat_8c_a9f3f1b757bdc2a874b4bb0dc657bde1d_cgraph" id="hashcat_8c_a9f3f1b757bdc2a874b4bb0dc657bde1d_cgraph">
<area shape="rect"  title=" " alt="" coords="5,2067,149,2093"/>
<area shape="rect"  href="debugfile_8c.html#a60c0a245b9b00da84b0121248645560b" title=" " alt="" coords="242,56,339,83"/>
<area shape="rect"  href="dictstat_8c.html#ae37d0c9510bce4dcbed76a83048228b8" title=" " alt="" coords="246,1548,335,1575"/>
<area shape="rect"  href="event_8c.html#a15a670f94d03c6e5d9a8bd45c3915889" title=" " alt="" coords="240,1269,341,1296"/>
<area shape="rect"  href="folder_8c.html#a6685756c6c027b0fb21b7b357326b358" title=" " alt="" coords="231,1371,350,1397"/>
<area shape="rect"  href="hwmon_8c.html#a6db48ad4f8b9c42fb1eab2a8341bb85d" title=" " alt="" coords="235,604,347,631"/>
<area shape="rect"  href="induct_8c.html#ae311757af7f13bf163ecd0ec8d32098c" title=" " alt="" coords="237,2168,344,2195"/>
<area shape="rect"  href="logfile_8c.html#a4f19671b53c417b49b3d066631596495" title=" " alt="" coords="489,1877,567,1904"/>
<area shape="rect"  href="loopback_8c.html#a6b354960bbd860a3f3a7d65a61163c8d" title=" " alt="" coords="241,2523,340,2549"/>
<area shape="rect"  href="opencl_8c.html#a3d3f2e16deeb5c4ce2ce3fa8e5c99245" title=" " alt="" coords="449,1827,607,1853"/>
<area shape="rect"  href="opencl_8c.html#a6fa98b71be155005b9a5cc117771eab7" title=" " alt="" coords="236,1672,345,1699"/>
<area shape="rect"  href="outfile__check_8c.html#aad66c1c8a9f9bebd41699c024aeac309" title=" " alt="" coords="229,2016,353,2043"/>
<area shape="rect"  href="outfile_8c.html#a596aa33c54c0b30afa011785439f0750" title=" " alt="" coords="223,1320,358,1347"/>
<area shape="rect"  href="outfile_8c.html#ab9cb34b09189a2f1b4a6e0e0c3519526" title=" " alt="" coords="251,2117,331,2144"/>
<area shape="rect"  href="potfile_8c.html#a3e476c572de83cafc38291a5495089d0" title=" " alt="" coords="251,2472,331,2499"/>
<area shape="rect"  href="restore_8c.html#a1df95aadfb011851b43c7299c91851c1" title=" " alt="" coords="235,2269,346,2296"/>
<area shape="rect"  href="affinity_8c.html#a664f40010a232a9b7a6621128f0988d2" title=" " alt="" coords="235,2067,347,2093"/>
<area shape="rect"  href="shared_8c.html#a2657fd919185f7516449e460e3cbeefa" title=" " alt="" coords="197,2320,384,2347"/>
<area shape="rect"  href="shared_8c.html#aa9d3b954c23d31f69d8c976490457da6" title=" " alt="" coords="237,2371,344,2397"/>
<area shape="rect"  href="shared_8c.html#ad3cf1b86213af6a19cdd7d2e8fa2ef2e" title=" " alt="" coords="241,2421,341,2448"/>
<area shape="rect"  href="status_8c.html#ae982352273cb0e2f7e30ffd84f598bfe" title=" " alt="" coords="237,2624,344,2651"/>
<area shape="rect"  href="tuningdb_8c.html#a82500a48411a912fa748e692dbafa187" title=" " alt="" coords="239,1799,342,1825"/>
<area shape="rect"  href="user__options_8c.html#a69e1aafb136190d6c8282838a55a155b" title=" " alt="" coords="213,2573,369,2600"/>
<area shape="rect"  href="user__options_8c.html#a15d54f75dce3b2b5e2ece75faaeaed70" title=" " alt="" coords="207,2219,374,2245"/>
<area shape="rect"  href="event_8c.html#ab419d8d7e9b12e78980ed9f17bdd5ed5" title=" " alt="" coords="672,823,781,849"/>
<area shape="rect"  href="locking_8c.html#a29a00825c15274df14db9bf40c016d65" title=" " alt="" coords="493,5,563,32"/>
<area shape="rect"  href="memory_8c.html#aab4c3019b442ae19027f3e773214416b" title=" " alt="" coords="493,1573,563,1600"/>
<area shape="rect"  href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc" title=" " alt="" coords="689,1953,764,1980"/>
<area shape="rect"  href="folder_8c.html#a717595a952971e642a55e58b77079926" title=" " alt="" coords="475,1269,581,1296"/>
<area shape="rect"  href="folder_8c.html#a7697b2aed3a857b8929a4a88b9a939e9" title=" " alt="" coords="477,1320,579,1347"/>
<area shape="rect"  href="folder_8c.html#a46700af30821003d1bd4636eb89394b6" title=" " alt="" coords="491,2029,565,2056"/>
<area shape="rect"  href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9" title=" " alt="" coords="698,1219,755,1245"/>
<area shape="rect"  href="memory_8c.html#a03315d6f4ee82f54f7f4461a884dc32a" title=" " alt="" coords="492,2283,564,2309"/>
<area shape="rect"  href="shared_8c.html#a5243867de29adb2b1b3d8c72dca3e963" title=" " alt="" coords="478,1168,578,1195"/>
<area shape="rect"  href="shared_8c.html#a1322f76e741a3aeb3e88d330c13c6d28" title=" " alt="" coords="478,1219,578,1245"/>
<area shape="rect"  href="hwmon_8c.html#a07a681c52a9694dbf18fed59c68dad9f" title=" " alt="" coords="492,1067,564,1093"/>
<area shape="rect"  href="hwmon_8c.html#a2aa24537ffbe93db2ea321d10e18626e" title=" " alt="" coords="491,376,565,403"/>
<area shape="rect"  href="hwmon_8c.html#ae96b746f8665066cfe47796a1da5347c" title=" " alt="" coords="487,427,569,453"/>
<area shape="rect"  href="hwmon_8c.html#aecdb4201475e3fd2bbf1bc714304de5a" title=" " alt="" coords="497,477,559,504"/>
<area shape="rect"  href="hwmon_8c.html#a72d557e2828a96129bc44dc5e871804c" title=" " alt="" coords="489,1016,567,1043"/>
<area shape="rect"  href="hwmon_8c.html#a6aef6887491889fdfab6ab46db98ee7d" title=" " alt="" coords="461,275,595,301"/>
<area shape="rect"  href="hwmon_8c.html#aabb1a07a50cc44c050618d1e520fbf20" title=" " alt="" coords="435,325,621,352"/>
<area shape="rect"  href="hwmon_8c.html#aa76a031410cf4c77ac4894a305487455" title=" " alt="" coords="460,528,596,555"/>
<area shape="rect"  href="hwmon_8c.html#a5c08345f99934a18583bcacaae3b85ad" title=" " alt="" coords="451,681,605,722"/>
<area shape="rect"  href="hwmon_8c.html#ad621bdbf718105698d5783a3bc9124fa" title=" " alt="" coords="432,747,624,773"/>
<area shape="rect"  href="hwmon_8c.html#a60498e5ddf665a25b58590ecb087a515" title=" " alt="" coords="451,107,605,149"/>
<area shape="rect"  href="ext___a_d_l_8c.html#a3ca1dfb61fde8df32721888ab2f0a2e0" title=" " alt="" coords="442,579,614,605"/>
<area shape="rect"  href="hwmon_8c.html#abe7781c591adf2b9739da45f1bb7d00c" title=" " alt="" coords="451,173,605,200"/>
<area shape="rect"  href="hwmon_8c.html#a44d69b91c797916abb73a1d6b683d570" title=" " alt="" coords="445,629,611,656"/>
<area shape="rect"  href="hwmon_8c.html#a22b0dbe710edde7555d49f06f45e9eb6" title=" " alt="" coords="455,899,601,941"/>
</map>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_a9f3f1b757bdc2a874b4bb0dc657bde1d_icgraph.gif" border="0" usemap="#hashcat_8c_a9f3f1b757bdc2a874b4bb0dc657bde1d_icgraph" alt=""/></div>
<map name="hashcat_8c_a9f3f1b757bdc2a874b4bb0dc657bde1d_icgraph" id="hashcat_8c_a9f3f1b757bdc2a874b4bb0dc657bde1d_icgraph">
<area shape="rect"  title=" " alt="" coords="104,5,248,32"/>
<area shape="rect"  href="main_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title=" " alt="" coords="5,5,56,32"/>
</map>
</div>

</div>
</div>
<a id="a9dac2f242318d8f1273b8ba9d121a390"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9dac2f242318d8f1273b8ba9d121a390">&#9670;&nbsp;</a></span>hashcat_session_pause()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int hashcat_session_pause </td>
          <td>(</td>
          <td class="paramtype">hashcat_ctx_t *&#160;</td>
          <td class="paramname"><em>hashcat_ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="hashcat_8c_source.html#l01109">1109</a> of file <a class="el" href="hashcat_8c_source.html">hashcat.c</a>.</p>
<div class="fragment"><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;{</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="thread_8c.html#aaffc80c4896b78e71db37100a30e770f">SuspendThreads</a> (hashcat_ctx);</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;}</div><div class="ttc" id="thread_8c_html_aaffc80c4896b78e71db37100a30e770f"><div class="ttname"><a href="thread_8c.html#aaffc80c4896b78e71db37100a30e770f">SuspendThreads</a></div><div class="ttdeci">int SuspendThreads(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="thread_8c_source.html#l00189">thread.c:189</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="thread_8c_source.html#l00189">SuspendThreads()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_a9dac2f242318d8f1273b8ba9d121a390_cgraph.gif" border="0" usemap="#hashcat_8c_a9dac2f242318d8f1273b8ba9d121a390_cgraph" alt=""/></div>
<map name="hashcat_8c_a9dac2f242318d8f1273b8ba9d121a390_cgraph" id="hashcat_8c_a9dac2f242318d8f1273b8ba9d121a390_cgraph">
<area shape="rect"  title=" " alt="" coords="5,5,168,32"/>
<area shape="rect"  href="thread_8c.html#aaffc80c4896b78e71db37100a30e770f" title=" " alt="" coords="216,5,335,32"/>
</map>
</div>

</div>
</div>
<a id="a3aeb98e0d275262a5a15491ce0d0d770"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3aeb98e0d275262a5a15491ce0d0d770">&#9670;&nbsp;</a></span>hashcat_session_quit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int hashcat_session_quit </td>
          <td>(</td>
          <td class="paramtype">hashcat_ctx_t *&#160;</td>
          <td class="paramname"><em>hashcat_ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="hashcat_8c_source.html#l01129">1129</a> of file <a class="el" href="hashcat_8c_source.html">hashcat.c</a>.</p>
<div class="fragment"><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;{</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025">myabort</a> (hashcat_ctx);</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;}</div><div class="ttc" id="thread_8c_html_a756f3c490d9f1c3c8b311c7caa1b0025"><div class="ttname"><a href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025">myabort</a></div><div class="ttdeci">int myabort(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="thread_8c_source.html#l00136">thread.c:136</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="thread_8c_source.html#l00136">myabort()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_a3aeb98e0d275262a5a15491ce0d0d770_cgraph.gif" border="0" usemap="#hashcat_8c_a3aeb98e0d275262a5a15491ce0d0d770_cgraph" alt=""/></div>
<map name="hashcat_8c_a3aeb98e0d275262a5a15491ce0d0d770_cgraph" id="hashcat_8c_a3aeb98e0d275262a5a15491ce0d0d770_cgraph">
<area shape="rect"  title=" " alt="" coords="5,5,153,32"/>
<area shape="rect"  href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025" title=" " alt="" coords="201,5,271,32"/>
</map>
</div>

</div>
</div>
<a id="ac118104d167ab618eb907cf255b53d0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac118104d167ab618eb907cf255b53d0e">&#9670;&nbsp;</a></span>hashcat_session_resume()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int hashcat_session_resume </td>
          <td>(</td>
          <td class="paramtype">hashcat_ctx_t *&#160;</td>
          <td class="paramname"><em>hashcat_ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="hashcat_8c_source.html#l01114">1114</a> of file <a class="el" href="hashcat_8c_source.html">hashcat.c</a>.</p>
<div class="fragment"><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;{</div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="thread_8c.html#a8f30189f84447caa0510cc5e2ac3c056">ResumeThreads</a> (hashcat_ctx);</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;}</div><div class="ttc" id="thread_8c_html_a8f30189f84447caa0510cc5e2ac3c056"><div class="ttname"><a href="thread_8c.html#a8f30189f84447caa0510cc5e2ac3c056">ResumeThreads</a></div><div class="ttdeci">int ResumeThreads(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="thread_8c_source.html#l00202">thread.c:202</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="thread_8c_source.html#l00202">ResumeThreads()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_ac118104d167ab618eb907cf255b53d0e_cgraph.gif" border="0" usemap="#hashcat_8c_ac118104d167ab618eb907cf255b53d0e_cgraph" alt=""/></div>
<map name="hashcat_8c_ac118104d167ab618eb907cf255b53d0e_cgraph" id="hashcat_8c_ac118104d167ab618eb907cf255b53d0e_cgraph">
<area shape="rect"  title=" " alt="" coords="5,5,176,32"/>
<area shape="rect"  href="thread_8c.html#a8f30189f84447caa0510cc5e2ac3c056" title=" " alt="" coords="224,5,340,32"/>
</map>
</div>

</div>
</div>
<a id="ad6cc36d03dcdad3413c794efecb3178a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6cc36d03dcdad3413c794efecb3178a">&#9670;&nbsp;</a></span>inner1_loop()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int inner1_loop </td>
          <td>(</td>
          <td class="paramtype">hashcat_ctx_t *&#160;</td>
          <td class="paramname"><em>hashcat_ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>loop through wordlists</p>

<p class="definition">Definition at line <a class="el" href="hashcat_8c_source.html#l00316">316</a> of file <a class="el" href="hashcat_8c_source.html">hashcat.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;{</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;  restore_ctx_t  *restore_ctx   = hashcat_ctx-&gt;restore_ctx;</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;  status_ctx_t   *status_ctx    = hashcat_ctx-&gt;status_ctx;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;  straight_ctx_t *straight_ctx  = hashcat_ctx-&gt;straight_ctx;</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;  <span class="comment">//status_ctx-&gt;run_main_level1   = true;</span></div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;  <span class="comment">//status_ctx-&gt;run_main_level2   = true;</span></div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;  status_ctx-&gt;run_main_level3   = <span class="keyword">true</span>;</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;  status_ctx-&gt;run_thread_level1 = <span class="keyword">true</span>;</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;  status_ctx-&gt;run_thread_level2 = <span class="keyword">true</span>;</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;  EVENT (EVENT_INNERLOOP2_STARTING);</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;  <span class="keywordflow">if</span> (restore_ctx-&gt;rd)</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  {</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    restore_data_t *rd = restore_ctx-&gt;rd;</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    <span class="keywordflow">if</span> (rd-&gt;dicts_pos &gt; 0)</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    {</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;      straight_ctx-&gt;dicts_pos = rd-&gt;dicts_pos;</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;      rd-&gt;dicts_pos = 0;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;    }</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;  }</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;  <span class="keywordflow">if</span> (straight_ctx-&gt;dicts_cnt)</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;  {</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    <span class="keywordflow">for</span> (u32 dicts_pos = straight_ctx-&gt;dicts_pos; dicts_pos &lt; straight_ctx-&gt;dicts_cnt; dicts_pos++)</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    {</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;      straight_ctx-&gt;dicts_pos = dicts_pos;</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">int</span> rc_inner2_loop = <a class="code" href="hashcat_8c.html#a9ec4f74d423ae0bd4aa6e960632b7086">inner2_loop</a> (hashcat_ctx);</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;      <span class="keywordflow">if</span> (rc_inner2_loop == -1) <a class="code" href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025">myabort</a> (hashcat_ctx);</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;      <span class="keywordflow">if</span> (status_ctx-&gt;run_main_level3 == <span class="keyword">false</span>) <span class="keywordflow">break</span>;</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    }</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <span class="keywordflow">if</span> (straight_ctx-&gt;dicts_pos == straight_ctx-&gt;dicts_cnt) straight_ctx-&gt;dicts_pos = 0;</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;  }</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;  <span class="keywordflow">else</span></div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;  {</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span> rc_inner2_loop = <a class="code" href="hashcat_8c.html#a9ec4f74d423ae0bd4aa6e960632b7086">inner2_loop</a> (hashcat_ctx);</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    <span class="keywordflow">if</span> (rc_inner2_loop == -1) <a class="code" href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025">myabort</a> (hashcat_ctx);</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;  }</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;  EVENT (EVENT_INNERLOOP2_FINISHED);</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;}</div><div class="ttc" id="thread_8c_html_a756f3c490d9f1c3c8b311c7caa1b0025"><div class="ttname"><a href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025">myabort</a></div><div class="ttdeci">int myabort(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="thread_8c_source.html#l00136">thread.c:136</a></div></div>
<div class="ttc" id="hashcat_8c_html_a9ec4f74d423ae0bd4aa6e960632b7086"><div class="ttname"><a href="hashcat_8c.html#a9ec4f74d423ae0bd4aa6e960632b7086">inner2_loop</a></div><div class="ttdeci">static int inner2_loop(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hashcat_8c_source.html#l00055">hashcat.c:55</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="hashcat_8c_source.html#l00055">inner2_loop()</a>, and <a class="el" href="thread_8c_source.html#l00136">myabort()</a>.</p>

<p class="reference">Referenced by <a class="el" href="hashcat_8c_source.html#l00376">outer_loop()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_ad6cc36d03dcdad3413c794efecb3178a_cgraph.gif" border="0" usemap="#hashcat_8c_ad6cc36d03dcdad3413c794efecb3178a_cgraph" alt=""/></div>
<map name="hashcat_8c_ad6cc36d03dcdad3413c794efecb3178a_cgraph" id="hashcat_8c_ad6cc36d03dcdad3413c794efecb3178a_cgraph">
<area shape="rect"  title=" " alt="" coords="5,895,93,922"/>
<area shape="rect"  href="hashcat_8c.html#a9ec4f74d423ae0bd4aa6e960632b7086" title=" " alt="" coords="141,710,229,737"/>
<area shape="rect"  href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025" title=" " alt="" coords="326,1425,395,1451"/>
<area shape="rect"  href="logfile_8c.html#ad43a6618e35a5e81e5801deb6b648d15" title=" " alt="" coords="285,339,436,366"/>
<area shape="rect"  href="status_8c.html#ac578c66cecb54b1f1b3f2623ddf02484" title=" " alt="" coords="285,390,436,417"/>
<area shape="rect"  href="opencl_8c.html#acb97645d16d6f0799fc11dbf841d1d1d" title=" " alt="" coords="287,441,435,467"/>
<area shape="rect"  href="cpt_8c.html#ad61f8ff2edce9c0d79d219274e72b254" title=" " alt="" coords="310,491,411,518"/>
<area shape="rect"  href="mpsp_8c.html#a0bc1fdc7efaa7d7cb8d83aea4a87e02e" title=" " alt="" coords="283,1141,439,1167"/>
<area shape="rect"  href="event_8c.html#ab419d8d7e9b12e78980ed9f17bdd5ed5" title=" " alt="" coords="751,710,861,737"/>
<area shape="rect"  href="memory_8c.html#aab4c3019b442ae19027f3e773214416b" title=" " alt="" coords="771,1410,841,1437"/>
<area shape="rect"  href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9" title=" " alt="" coords="777,862,835,889"/>
<area shape="rect"  href="straight_8c.html#a3d8373e67081b5b5202c3b101cf6558e" title=" " alt="" coords="277,609,444,635"/>
<area shape="rect"  href="user__options_8c.html#a84ced9ab3a5bc4772fe980e02018a782" title=" " alt="" coords="295,1243,427,1284"/>
<area shape="rect"  href="opencl_8c.html#a5a9e2f2549247cac537e98caf9c22a30" title=" " alt="" coords="293,1308,428,1349"/>
<area shape="rect"  href="autotune_8c.html#a947f89f8de260d6c32e8b003c79ce2c7" title=" " alt="" coords="303,1374,418,1401"/>
<area shape="rect"  href="opencl_8c.html#a3428754212e25503a5574076990a6c3b" title=" " alt="" coords="293,543,428,584"/>
<area shape="rect"  href="loopback_8c.html#a3fb55450d503e180f8182331c15cc5fc" title=" " alt="" coords="289,659,432,686"/>
<area shape="rect"  href="dispatch_8c.html#a9e518ec031f388304424fb2852075038" title=" " alt="" coords="299,811,423,838"/>
<area shape="rect"  href="dispatch_8c.html#a45ffdf5a91d67bdc7a27b7fe7d39761a" title=" " alt="" coords="316,761,405,787"/>
<area shape="rect"  href="hashcat_8c.html#a325cba22ef98f99a706d99c65989a2c2" title=" " alt="" coords="293,170,429,197"/>
<area shape="rect"  href="loopback_8c.html#ade191c05c348f39648fe615e71df263c" title=" " alt="" coords="287,238,434,265"/>
<area shape="rect"  href="induct_8c.html#a3f87d03536d320ed0caf58058947cfe0" title=" " alt="" coords="302,289,419,315"/>
<area shape="rect"  href="logfile_8c.html#accf59abaaeabe6847e709963497151af" title=" " alt="" coords="519,347,648,374"/>
<area shape="rect"  href="mpsp_8c.html#a64fbce547686c2280f2c82a74900f97b" title=" " alt="" coords="497,1014,670,1041"/>
<area shape="rect"  href="mpsp_8c.html#ab99db27312edcd754ec4bae96dcbc2f6" title=" " alt="" coords="535,913,631,939"/>
<area shape="rect"  href="mpsp_8c.html#af09afe976997c9154b33ec97df3ca977" title=" " alt="" coords="514,963,653,990"/>
<area shape="rect"  href="mpsp_8c.html#a8141f02966acec59435698ed76df5ab7" title=" " alt="" coords="532,1065,635,1091"/>
<area shape="rect"  href="mpsp_8c.html#a0796bf2fde080024565ae713b726486c" title=" " alt="" coords="537,1115,630,1142"/>
<area shape="rect"  href="opencl_8c.html#a6e6cfbf2cffcded725be07e5f854ba2e" title=" " alt="" coords="492,1166,675,1193"/>
<area shape="rect"  href="opencl_8c.html#a7028556c69f74095f280f1434a100ee5" title=" " alt="" coords="504,1217,663,1259"/>
<area shape="rect"  href="mpsp_8c.html#acf7e14a461bcfa561fe1e688f04e380d" title=" " alt="" coords="530,1283,637,1310"/>
<area shape="rect"  href="event_8c.html#a10cc0b2c8645313456053b9427b6e802" title=" " alt="" coords="743,659,869,686"/>
<area shape="rect"  href="mpsp_8c.html#ae282f18648fd7a2f638c691375d2cdff" title=" " alt="" coords="499,1385,668,1411"/>
<area shape="rect"  href="mpsp_8c.html#a900b5e3463776a2eeef84452fd9170b6" title=" " alt="" coords="511,1334,656,1361"/>
<area shape="rect"  href="mpsp_8c.html#a5adc3ef47fce98700cd58d2526ece0e8" title=" " alt="" coords="521,1486,645,1513"/>
<area shape="rect"  href="opencl_8c.html#a36f294a1988a5ff960fa09c9c68de75d" title=" " alt="" coords="504,1537,663,1579"/>
<area shape="rect"  href="event_8c.html#a6221c6caa1d2069ad1c3103f0b013ef7" title=" " alt="" coords="937,659,1016,686"/>
<area shape="rect"  href="event_8c.html#ad5a30ac9dc4301540e19643500eb78e4" title=" " alt="" coords="939,710,1015,737"/>
<area shape="rect"  href="wordlist_8c.html#aae2709343521b2e5a8fd5bf2fc375390" title=" " alt="" coords="536,457,631,483"/>
<area shape="rect"  href="autotune_8c.html#a58022d7cc5d8126f33e8635c5ae62c2b" title=" " alt="" coords="547,1654,619,1681"/>
<area shape="rect"  href="shared_8c.html#abaf320524af0edfa27422ff6ebebd0d8" title=" " alt="" coords="522,558,645,585"/>
<area shape="rect"  href="dispatch_8c.html#a274118ca9e580459d6e82f6d61a34d59" title=" " alt="" coords="543,811,624,838"/>
<area shape="rect"  href="dispatch_8c.html#a0502555fe69aef3e7b8c3886ef18c145" title=" " alt="" coords="560,761,607,787"/>
<area shape="rect"  href="status_8c.html#a63a8c00d5bd34caf172084656496c49e" title=" " alt="" coords="495,43,671,70"/>
<area shape="rect"  href="status_8c.html#a2ed1df8a5376cf23d64c50438297c846" title=" " alt="" coords="529,195,637,222"/>
<area shape="rect"  href="status_8c.html#a355cdcb9ede56fee687b8af4a9189d33" title=" " alt="" coords="723,18,889,45"/>
<area shape="rect"  href="status_8c.html#a23b45088a69203f6dace5e4e1e3bb660" title=" " alt="" coords="725,101,887,127"/>
<area shape="rect"  href="status_8c.html#a6aefa07d8d2f81829fd8e25c57e424b5" title=" " alt="" coords="725,163,887,190"/>
<area shape="rect"  href="status_8c.html#a423d095e28cde7a27728d934ecf1469a" title=" " alt="" coords="723,239,889,266"/>
<area shape="rect"  href="status_8c.html#a8b960dd7a2f536cf0432bf6933d5096b" title=" " alt="" coords="725,294,887,321"/>
</map>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_ad6cc36d03dcdad3413c794efecb3178a_icgraph.gif" border="0" usemap="#hashcat_8c_ad6cc36d03dcdad3413c794efecb3178a_icgraph" alt=""/></div>
<map name="hashcat_8c_ad6cc36d03dcdad3413c794efecb3178a_icgraph" id="hashcat_8c_ad6cc36d03dcdad3413c794efecb3178a_icgraph">
<area shape="rect"  title=" " alt="" coords="456,5,544,32"/>
<area shape="rect"  href="hashcat_8c.html#ac33e9695b713153c0fc7cce11696704b" title=" " alt="" coords="325,5,408,32"/>
<area shape="rect"  href="hashcat_8c.html#ac49fece3f82732fda9eb29766cc01168" title=" " alt="" coords="104,5,277,32"/>
<area shape="rect"  href="main_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title=" " alt="" coords="5,5,56,32"/>
</map>
</div>

</div>
</div>
<a id="a9ec4f74d423ae0bd4aa6e960632b7086"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ec4f74d423ae0bd4aa6e960632b7086">&#9670;&nbsp;</a></span>inner2_loop()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int inner2_loop </td>
          <td>(</td>
          <td class="paramtype">hashcat_ctx_t *&#160;</td>
          <td class="paramname"><em>hashcat_ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Author......: See docs/credits.txt License.....: MIT </p>
<p>Update attack-mode specific stuff based on mask</p>
<p>Update attack-mode specific stuff based on wordlist</p>
<p>limit kernel loops by the amplification count we have from:</p><ul>
<li>straight_ctx, combinator_ctx or mask_ctx for fast hashes</li>
<li>hash iteration count for slow hashes</li>
</ul>
<p>create autotune threads</p>
<p>autotune modified kernel_accel, which modifies opencl_ctx-&gt;kernel_power_all</p>
<p>Begin loopback recording</p>
<p>Prepare cracking stats</p>
<p>create cracker threads</p>

<p class="definition">Definition at line <a class="el" href="hashcat_8c_source.html#l00055">55</a> of file <a class="el" href="hashcat_8c_source.html">hashcat.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;{</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;  hashes_t             *hashes              = hashcat_ctx-&gt;hashes;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  induct_ctx_t         *induct_ctx          = hashcat_ctx-&gt;induct_ctx;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  logfile_ctx_t        *logfile_ctx         = hashcat_ctx-&gt;logfile_ctx;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  opencl_ctx_t         *opencl_ctx          = hashcat_ctx-&gt;opencl_ctx;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  restore_ctx_t        *restore_ctx         = hashcat_ctx-&gt;restore_ctx;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  status_ctx_t         *status_ctx          = hashcat_ctx-&gt;status_ctx;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  user_options_extra_t *user_options_extra  = hashcat_ctx-&gt;user_options_extra;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  user_options_t       *user_options        = hashcat_ctx-&gt;user_options;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  <span class="comment">//status_ctx-&gt;run_main_level1   = true;</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <span class="comment">//status_ctx-&gt;run_main_level2   = true;</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  <span class="comment">//status_ctx-&gt;run_main_level3   = true;</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  status_ctx-&gt;run_thread_level1 = <span class="keyword">true</span>;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  status_ctx-&gt;run_thread_level2 = <span class="keyword">true</span>;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  status_ctx-&gt;devices_status = STATUS_INIT;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  <a class="code" href="logfile_8c.html#ad43a6618e35a5e81e5801deb6b648d15">logfile_generate_subid</a> (hashcat_ctx);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  logfile_sub_msg (<span class="stringliteral">&quot;START&quot;</span>);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <a class="code" href="status_8c.html#ac578c66cecb54b1f1b3f2623ddf02484">status_progress_reset</a> (hashcat_ctx);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  status_ctx-&gt;msec_paused = 0;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;  status_ctx-&gt;words_off = 0;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  status_ctx-&gt;words_cur = 0;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  <span class="keywordflow">if</span> (restore_ctx-&gt;rd)</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  {</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    restore_data_t *rd = restore_ctx-&gt;rd;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <span class="keywordflow">if</span> (rd-&gt;words_cur &gt; 0)</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    {</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      status_ctx-&gt;words_off = rd-&gt;words_cur;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      status_ctx-&gt;words_cur = status_ctx-&gt;words_off;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      rd-&gt;words_cur = 0;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      user_options-&gt;skip = 0;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    }</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  }</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="keywordflow">if</span> (user_options-&gt;skip &gt; 0)</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  {</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    status_ctx-&gt;words_off = user_options-&gt;skip;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    status_ctx-&gt;words_cur = status_ctx-&gt;words_off;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    user_options-&gt;skip = 0;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  }</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  <a class="code" href="opencl_8c.html#acb97645d16d6f0799fc11dbf841d1d1d">opencl_session_reset</a> (hashcat_ctx);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <a class="code" href="cpt_8c.html#ad61f8ff2edce9c0d79d219274e72b254">cpt_ctx_reset</a> (hashcat_ctx);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <a class="code" href="mpsp_8c.html#a0bc1fdc7efaa7d7cb8d83aea4a87e02e">mask_ctx_update_loop</a> (hashcat_ctx);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <a class="code" href="straight_8c.html#a3d8373e67081b5b5202c3b101cf6558e">straight_ctx_update_loop</a> (hashcat_ctx);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="comment">// words base</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  <span class="keyword">const</span> u64 amplifier_cnt = <a class="code" href="user__options_8c.html#a84ced9ab3a5bc4772fe980e02018a782">user_options_extra_amplifier</a> (hashcat_ctx);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  status_ctx-&gt;words_base = status_ctx-&gt;words_cnt / amplifier_cnt;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  EVENT (EVENT_CALCULATED_WORDS_BASE);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  <span class="keywordflow">if</span> (user_options-&gt;keyspace == <span class="keyword">true</span>) <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;  <span class="comment">// restore stuff</span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <span class="keywordflow">if</span> (status_ctx-&gt;words_off &gt; status_ctx-&gt;words_base)</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  {</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <a class="code" href="event_8c.html#ab419d8d7e9b12e78980ed9f17bdd5ed5">event_log_error</a> (hashcat_ctx, <span class="stringliteral">&quot;Restore value greater keyspace&quot;</span>);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  }</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  <span class="keyword">const</span> u64 progress_restored = status_ctx-&gt;words_off * amplifier_cnt;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  <span class="keywordflow">for</span> (u32 i = 0; i &lt; hashes-&gt;salts_cnt; i++)</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  {</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    status_ctx-&gt;words_progress_restored[i] = progress_restored;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;  }</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <a class="code" href="opencl_8c.html#a5a9e2f2549247cac537e98caf9c22a30">opencl_ctx_devices_kernel_loops</a> (hashcat_ctx);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  EVENT (EVENT_AUTOTUNE_STARTING);</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;  thread_param_t *threads_param = (thread_param_t *) <a class="code" href="memory_8c.html#aab4c3019b442ae19027f3e773214416b">hccalloc</a> (opencl_ctx-&gt;devices_cnt, sizeof (thread_param_t));</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;  hc_thread_t *c_threads = (hc_thread_t *) <a class="code" href="memory_8c.html#aab4c3019b442ae19027f3e773214416b">hccalloc</a> (opencl_ctx-&gt;devices_cnt, sizeof (hc_thread_t));</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;  status_ctx-&gt;devices_status = STATUS_AUTOTUNE;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  <span class="keywordflow">for</span> (u32 device_id = 0; device_id &lt; opencl_ctx-&gt;devices_cnt; device_id++)</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  {</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    thread_param_t *thread_param = threads_param + device_id;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    thread_param-&gt;hashcat_ctx = hashcat_ctx;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    thread_param-&gt;tid         = device_id;</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    hc_thread_create (c_threads[device_id], <a class="code" href="autotune_8c.html#a947f89f8de260d6c32e8b003c79ce2c7">thread_autotune</a>, thread_param);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;  }</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  hc_thread_wait (opencl_ctx-&gt;devices_cnt, c_threads);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;  EVENT (EVENT_AUTOTUNE_FINISHED);</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;  <a class="code" href="opencl_8c.html#a3428754212e25503a5574076990a6c3b">opencl_ctx_devices_update_power</a> (hashcat_ctx);</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;  <span class="keywordflow">if</span> (user_options-&gt;loopback == <span class="keyword">true</span>)</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  {</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    <a class="code" href="loopback_8c.html#a3fb55450d503e180f8182331c15cc5fc">loopback_write_open</a> (hashcat_ctx);</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  }</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  hc_timer_set (&amp;status_ctx-&gt;timer_running);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;  time_t runtime_start;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  time (&amp;runtime_start);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;  status_ctx-&gt;runtime_start = runtime_start;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  status_ctx-&gt;prepare_time = runtime_start - status_ctx-&gt;prepare_start;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  EVENT (EVENT_CRACKER_STARTING);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;  status_ctx-&gt;devices_status = STATUS_RUNNING;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;  status_ctx-&gt;accessible = <span class="keyword">true</span>;</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;  <span class="keywordflow">for</span> (u32 device_id = 0; device_id &lt; opencl_ctx-&gt;devices_cnt; device_id++)</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;  {</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    thread_param_t *thread_param = threads_param + device_id;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    thread_param-&gt;hashcat_ctx = hashcat_ctx;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    thread_param-&gt;tid         = device_id;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <span class="keywordflow">if</span> (user_options_extra-&gt;wordlist_mode == WL_MODE_STDIN)</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    {</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;      hc_thread_create (c_threads[device_id], <a class="code" href="dispatch_8c.html#a9e518ec031f388304424fb2852075038">thread_calc_stdin</a>, thread_param);</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    }</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    {</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;      hc_thread_create (c_threads[device_id], <a class="code" href="dispatch_8c.html#a45ffdf5a91d67bdc7a27b7fe7d39761a">thread_calc</a>, thread_param);</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    }</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;  }</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;  hc_thread_wait (opencl_ctx-&gt;devices_cnt, c_threads);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (c_threads);</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (threads_param);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;  <span class="keywordflow">if</span> ((status_ctx-&gt;devices_status != STATUS_CRACKED)</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;   &amp;&amp; (status_ctx-&gt;devices_status != STATUS_ABORTED)</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;   &amp;&amp; (status_ctx-&gt;devices_status != STATUS_QUIT)</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;   &amp;&amp; (status_ctx-&gt;devices_status != STATUS_BYPASS))</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;  {</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    status_ctx-&gt;devices_status = STATUS_EXHAUSTED;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  }</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;  <span class="comment">// update some timer</span></div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;  time_t runtime_stop;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  time (&amp;runtime_stop);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;  status_ctx-&gt;runtime_stop = runtime_stop;</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;  logfile_sub_uint (runtime_start);</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  logfile_sub_uint (runtime_stop);</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;  time (&amp;status_ctx-&gt;prepare_start);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;  <a class="code" href="hashcat_8c.html#a325cba22ef98f99a706d99c65989a2c2">hashcat_get_status</a> (hashcat_ctx, status_ctx-&gt;hashcat_status_final);</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;  status_ctx-&gt;accessible = <span class="keyword">false</span>;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;  EVENT (EVENT_CRACKER_FINISHED);</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  <span class="comment">// mark sub logfile</span></div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;  logfile_sub_var_uint (<span class="stringliteral">&quot;status-after-work&quot;</span>, status_ctx-&gt;devices_status);</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;  logfile_sub_msg (<span class="stringliteral">&quot;STOP&quot;</span>);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;  <span class="comment">// stop loopback recording</span></div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  <span class="keywordflow">if</span> (user_options-&gt;loopback == <span class="keyword">true</span>)</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  {</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    <a class="code" href="loopback_8c.html#ade191c05c348f39648fe615e71df263c">loopback_write_close</a> (hashcat_ctx);</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;  }</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;  <span class="comment">// New induction folder check, which is a controlled recursion</span></div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;  <span class="keywordflow">if</span> (induct_ctx-&gt;induction_dictionaries_cnt == 0)</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;  {</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    <a class="code" href="induct_8c.html#a3f87d03536d320ed0caf58058947cfe0">induct_ctx_scan</a> (hashcat_ctx);</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    <span class="keywordflow">while</span> (induct_ctx-&gt;induction_dictionaries_cnt)</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;    {</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;      <span class="keywordflow">for</span> (induct_ctx-&gt;induction_dictionaries_pos = 0; induct_ctx-&gt;induction_dictionaries_pos &lt; induct_ctx-&gt;induction_dictionaries_cnt; induct_ctx-&gt;induction_dictionaries_pos++)</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;      {</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">int</span> rc_inner2_loop = <a class="code" href="hashcat_8c.html#a9ec4f74d423ae0bd4aa6e960632b7086">inner2_loop</a> (hashcat_ctx);</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;        <span class="keywordflow">if</span> (rc_inner2_loop == -1) <a class="code" href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025">myabort</a> (hashcat_ctx);</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;        <span class="keywordflow">if</span> (status_ctx-&gt;run_main_level3 == <span class="keyword">false</span>) <span class="keywordflow">break</span>;</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;        unlink (induct_ctx-&gt;induction_dictionaries[induct_ctx-&gt;induction_dictionaries_pos]);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;      }</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;      <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (induct_ctx-&gt;induction_dictionaries);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;      <a class="code" href="induct_8c.html#a3f87d03536d320ed0caf58058947cfe0">induct_ctx_scan</a> (hashcat_ctx);</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    }</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;  }</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;}</div><div class="ttc" id="memory_8c_html_ad8ba3dcf1734b1d2c8679600f0f0c3c9"><div class="ttname"><a href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a></div><div class="ttdeci">void hcfree(void *ptr)</div><div class="ttdef"><b>Definition:</b> <a href="memory_8c_source.html#l00071">memory.c:71</a></div></div>
<div class="ttc" id="event_8c_html_ab419d8d7e9b12e78980ed9f17bdd5ed5"><div class="ttname"><a href="event_8c.html#ab419d8d7e9b12e78980ed9f17bdd5ed5">event_log_error</a></div><div class="ttdeci">size_t event_log_error(hashcat_ctx_t *hashcat_ctx, const char *fmt,...)</div><div class="ttdef"><b>Definition:</b> <a href="event_8c_source.html#l00168">event.c:168</a></div></div>
<div class="ttc" id="logfile_8c_html_ad43a6618e35a5e81e5801deb6b648d15"><div class="ttname"><a href="logfile_8c.html#ad43a6618e35a5e81e5801deb6b648d15">logfile_generate_subid</a></div><div class="ttdeci">void logfile_generate_subid(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="logfile_8c_source.html#l00035">logfile.c:35</a></div></div>
<div class="ttc" id="loopback_8c_html_a3fb55450d503e180f8182331c15cc5fc"><div class="ttname"><a href="loopback_8c.html#a3fb55450d503e180f8182331c15cc5fc">loopback_write_open</a></div><div class="ttdeci">int loopback_write_open(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="loopback_8c_source.html#l00089">loopback.c:89</a></div></div>
<div class="ttc" id="user__options_8c_html_a84ced9ab3a5bc4772fe980e02018a782"><div class="ttname"><a href="user__options_8c.html#a84ced9ab3a5bc4772fe980e02018a782">user_options_extra_amplifier</a></div><div class="ttdeci">u64 user_options_extra_amplifier(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="user__options_8c_source.html#l01188">user_options.c:1188</a></div></div>
<div class="ttc" id="memory_8c_html_aab4c3019b442ae19027f3e773214416b"><div class="ttname"><a href="memory_8c.html#aab4c3019b442ae19027f3e773214416b">hccalloc</a></div><div class="ttdeci">void * hccalloc(const size_t nmemb, const size_t sz)</div><div class="ttdef"><b>Definition:</b> <a href="memory_8c_source.html#l00010">memory.c:10</a></div></div>
<div class="ttc" id="opencl_8c_html_a5a9e2f2549247cac537e98caf9c22a30"><div class="ttname"><a href="opencl_8c.html#a5a9e2f2549247cac537e98caf9c22a30">opencl_ctx_devices_kernel_loops</a></div><div class="ttdeci">void opencl_ctx_devices_kernel_loops(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="opencl_8c_source.html#l03054">opencl.c:3054</a></div></div>
<div class="ttc" id="status_8c_html_ac578c66cecb54b1f1b3f2623ddf02484"><div class="ttname"><a href="status_8c.html#ac578c66cecb54b1f1b3f2623ddf02484">status_progress_reset</a></div><div class="ttdeci">void status_progress_reset(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01711">status.c:1711</a></div></div>
<div class="ttc" id="thread_8c_html_a756f3c490d9f1c3c8b311c7caa1b0025"><div class="ttname"><a href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025">myabort</a></div><div class="ttdeci">int myabort(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="thread_8c_source.html#l00136">thread.c:136</a></div></div>
<div class="ttc" id="dispatch_8c_html_a45ffdf5a91d67bdc7a27b7fe7d39761a"><div class="ttname"><a href="dispatch_8c.html#a45ffdf5a91d67bdc7a27b7fe7d39761a">thread_calc</a></div><div class="ttdeci">void * thread_calc(void *p)</div><div class="ttdef"><b>Definition:</b> <a href="dispatch_8c_source.html#l00581">dispatch.c:581</a></div></div>
<div class="ttc" id="mpsp_8c_html_a0bc1fdc7efaa7d7cb8d83aea4a87e02e"><div class="ttname"><a href="mpsp_8c.html#a0bc1fdc7efaa7d7cb8d83aea4a87e02e">mask_ctx_update_loop</a></div><div class="ttdeci">int mask_ctx_update_loop(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="mpsp_8c_source.html#l00988">mpsp.c:988</a></div></div>
<div class="ttc" id="opencl_8c_html_acb97645d16d6f0799fc11dbf841d1d1d"><div class="ttname"><a href="opencl_8c.html#acb97645d16d6f0799fc11dbf841d1d1d">opencl_session_reset</a></div><div class="ttdeci">void opencl_session_reset(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="opencl_8c_source.html#l04928">opencl.c:4928</a></div></div>
<div class="ttc" id="cpt_8c_html_ad61f8ff2edce9c0d79d219274e72b254"><div class="ttname"><a href="cpt_8c.html#ad61f8ff2edce9c0d79d219274e72b254">cpt_ctx_reset</a></div><div class="ttdeci">void cpt_ctx_reset(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="cpt_8c_source.html#l00047">cpt.c:47</a></div></div>
<div class="ttc" id="autotune_8c_html_a947f89f8de260d6c32e8b003c79ce2c7"><div class="ttname"><a href="autotune_8c.html#a947f89f8de260d6c32e8b003c79ce2c7">thread_autotune</a></div><div class="ttdeci">void * thread_autotune(void *p)</div><div class="ttdef"><b>Definition:</b> <a href="autotune_8c_source.html#l00328">autotune.c:328</a></div></div>
<div class="ttc" id="straight_8c_html_a3d8373e67081b5b5202c3b101cf6558e"><div class="ttname"><a href="straight_8c.html#a3d8373e67081b5b5202c3b101cf6558e">straight_ctx_update_loop</a></div><div class="ttdeci">int straight_ctx_update_loop(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="straight_8c_source.html#l00037">straight.c:37</a></div></div>
<div class="ttc" id="loopback_8c_html_ade191c05c348f39648fe615e71df263c"><div class="ttname"><a href="loopback_8c.html#ade191c05c348f39648fe615e71df263c">loopback_write_close</a></div><div class="ttdeci">void loopback_write_close(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="loopback_8c_source.html#l00133">loopback.c:133</a></div></div>
<div class="ttc" id="induct_8c_html_a3f87d03536d320ed0caf58058947cfe0"><div class="ttname"><a href="induct_8c.html#a3f87d03536d320ed0caf58058947cfe0">induct_ctx_scan</a></div><div class="ttdeci">void induct_ctx_scan(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="induct_8c_source.html#l00098">induct.c:98</a></div></div>
<div class="ttc" id="hashcat_8c_html_a9ec4f74d423ae0bd4aa6e960632b7086"><div class="ttname"><a href="hashcat_8c.html#a9ec4f74d423ae0bd4aa6e960632b7086">inner2_loop</a></div><div class="ttdeci">static int inner2_loop(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hashcat_8c_source.html#l00055">hashcat.c:55</a></div></div>
<div class="ttc" id="hashcat_8c_html_a325cba22ef98f99a706d99c65989a2c2"><div class="ttname"><a href="hashcat_8c.html#a325cba22ef98f99a706d99c65989a2c2">hashcat_get_status</a></div><div class="ttdeci">int hashcat_get_status(hashcat_ctx_t *hashcat_ctx, hashcat_status_t *hashcat_status)</div><div class="ttdef"><b>Definition:</b> <a href="hashcat_8c_source.html#l01165">hashcat.c:1165</a></div></div>
<div class="ttc" id="dispatch_8c_html_a9e518ec031f388304424fb2852075038"><div class="ttname"><a href="dispatch_8c.html#a9e518ec031f388304424fb2852075038">thread_calc_stdin</a></div><div class="ttdeci">void * thread_calc_stdin(void *p)</div><div class="ttdef"><b>Definition:</b> <a href="dispatch_8c_source.html#l00237">dispatch.c:237</a></div></div>
<div class="ttc" id="opencl_8c_html_a3428754212e25503a5574076990a6c3b"><div class="ttname"><a href="opencl_8c.html#a3428754212e25503a5574076990a6c3b">opencl_ctx_devices_update_power</a></div><div class="ttdeci">void opencl_ctx_devices_update_power(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="opencl_8c_source.html#l03014">opencl.c:3014</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="cpt_8c_source.html#l00047">cpt_ctx_reset()</a>, <a class="el" href="event_8c_source.html#l00168">event_log_error()</a>, <a class="el" href="hashcat_8c_source.html#l01165">hashcat_get_status()</a>, <a class="el" href="memory_8c_source.html#l00010">hccalloc()</a>, <a class="el" href="memory_8c_source.html#l00071">hcfree()</a>, <a class="el" href="induct_8c_source.html#l00098">induct_ctx_scan()</a>, <a class="el" href="logfile_8c_source.html#l00035">logfile_generate_subid()</a>, <a class="el" href="loopback_8c_source.html#l00133">loopback_write_close()</a>, <a class="el" href="loopback_8c_source.html#l00089">loopback_write_open()</a>, <a class="el" href="mpsp_8c_source.html#l00988">mask_ctx_update_loop()</a>, <a class="el" href="thread_8c_source.html#l00136">myabort()</a>, <a class="el" href="opencl_8c_source.html#l03054">opencl_ctx_devices_kernel_loops()</a>, <a class="el" href="opencl_8c_source.html#l03014">opencl_ctx_devices_update_power()</a>, <a class="el" href="opencl_8c_source.html#l04928">opencl_session_reset()</a>, <a class="el" href="status_8c_source.html#l01711">status_progress_reset()</a>, <a class="el" href="straight_8c_source.html#l00037">straight_ctx_update_loop()</a>, <a class="el" href="autotune_8c_source.html#l00328">thread_autotune()</a>, <a class="el" href="dispatch_8c_source.html#l00581">thread_calc()</a>, <a class="el" href="dispatch_8c_source.html#l00237">thread_calc_stdin()</a>, and <a class="el" href="user__options_8c_source.html#l01188">user_options_extra_amplifier()</a>.</p>

<p class="reference">Referenced by <a class="el" href="hashcat_8c_source.html#l00316">inner1_loop()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_a9ec4f74d423ae0bd4aa6e960632b7086_cgraph.gif" border="0" usemap="#hashcat_8c_a9ec4f74d423ae0bd4aa6e960632b7086_cgraph" alt=""/></div>
<map name="hashcat_8c_a9ec4f74d423ae0bd4aa6e960632b7086_cgraph" id="hashcat_8c_a9ec4f74d423ae0bd4aa6e960632b7086_cgraph">
<area shape="rect"  title=" " alt="" coords="5,991,93,1017"/>
<area shape="rect"  href="cpt_8c.html#ad61f8ff2edce9c0d79d219274e72b254" title=" " alt="" coords="174,509,275,536"/>
<area shape="rect"  href="event_8c.html#ab419d8d7e9b12e78980ed9f17bdd5ed5" title=" " alt="" coords="409,16,518,43"/>
<area shape="rect"  href="hashcat_8c.html#a325cba22ef98f99a706d99c65989a2c2" title=" " alt="" coords="157,712,293,739"/>
<area shape="rect"  href="memory_8c.html#aab4c3019b442ae19027f3e773214416b" title=" " alt="" coords="428,1499,499,1525"/>
<area shape="rect"  href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9" title=" " alt="" coords="196,864,253,891"/>
<area shape="rect"  href="induct_8c.html#a3f87d03536d320ed0caf58058947cfe0" title=" " alt="" coords="166,915,283,941"/>
<area shape="rect"  href="logfile_8c.html#ad43a6618e35a5e81e5801deb6b648d15" title=" " alt="" coords="149,965,300,992"/>
<area shape="rect"  href="loopback_8c.html#ade191c05c348f39648fe615e71df263c" title=" " alt="" coords="151,1016,298,1043"/>
<area shape="rect"  href="loopback_8c.html#a3fb55450d503e180f8182331c15cc5fc" title=" " alt="" coords="153,611,296,637"/>
<area shape="rect"  href="mpsp_8c.html#a0bc1fdc7efaa7d7cb8d83aea4a87e02e" title=" " alt="" coords="147,813,303,840"/>
<area shape="rect"  href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025" title=" " alt="" coords="190,1067,259,1093"/>
<area shape="rect"  href="opencl_8c.html#a5a9e2f2549247cac537e98caf9c22a30" title=" " alt="" coords="157,1118,292,1159"/>
<area shape="rect"  href="opencl_8c.html#a3428754212e25503a5574076990a6c3b" title=" " alt="" coords="157,1183,292,1225"/>
<area shape="rect"  href="opencl_8c.html#acb97645d16d6f0799fc11dbf841d1d1d" title=" " alt="" coords="151,1249,299,1276"/>
<area shape="rect"  href="status_8c.html#ac578c66cecb54b1f1b3f2623ddf02484" title=" " alt="" coords="149,1300,300,1327"/>
<area shape="rect"  href="straight_8c.html#a3d8373e67081b5b5202c3b101cf6558e" title=" " alt="" coords="141,661,308,688"/>
<area shape="rect"  href="autotune_8c.html#a947f89f8de260d6c32e8b003c79ce2c7" title=" " alt="" coords="167,1351,282,1377"/>
<area shape="rect"  href="dispatch_8c.html#a45ffdf5a91d67bdc7a27b7fe7d39761a" title=" " alt="" coords="180,1401,269,1428"/>
<area shape="rect"  href="dispatch_8c.html#a9e518ec031f388304424fb2852075038" title=" " alt="" coords="163,1452,287,1479"/>
<area shape="rect"  href="user__options_8c.html#a84ced9ab3a5bc4772fe980e02018a782" title=" " alt="" coords="159,1503,291,1545"/>
<area shape="rect"  href="event_8c.html#a6221c6caa1d2069ad1c3103f0b013ef7" title=" " alt="" coords="678,5,757,32"/>
<area shape="rect"  href="event_8c.html#ad5a30ac9dc4301540e19643500eb78e4" title=" " alt="" coords="679,56,755,83"/>
<area shape="rect"  href="status_8c.html#a63a8c00d5bd34caf172084656496c49e" title=" " alt="" coords="375,371,551,397"/>
<area shape="rect"  href="status_8c.html#a2ed1df8a5376cf23d64c50438297c846" title=" " alt="" coords="409,421,517,448"/>
<area shape="rect"  href="status_8c.html#a79965bb7e1be8762347af372ffc22142" title=" " alt="" coords="637,129,798,156"/>
<area shape="rect"  href="status_8c.html#a355cdcb9ede56fee687b8af4a9189d33" title=" " alt="" coords="635,224,800,251"/>
<area shape="rect"  href="status_8c.html#a23b45088a69203f6dace5e4e1e3bb660" title=" " alt="" coords="637,363,798,389"/>
<area shape="rect"  href="status_8c.html#a6aefa07d8d2f81829fd8e25c57e424b5" title=" " alt="" coords="636,447,799,473"/>
<area shape="rect"  href="status_8c.html#a423d095e28cde7a27728d934ecf1469a" title=" " alt="" coords="634,511,801,537"/>
<area shape="rect"  href="status_8c.html#a8b960dd7a2f536cf0432bf6933d5096b" title=" " alt="" coords="636,568,799,595"/>
<area shape="rect"  href="status_8c.html#a1fe5a4470ba16471b45009f196690e38" title=" " alt="" coords="387,793,540,834"/>
<area shape="rect"  href="status_8c.html#a2c69a9bdcd774127eeb010c1eda9f71f" title=" " alt="" coords="374,859,553,885"/>
<area shape="rect"  href="status_8c.html#a4aac0bc181d9bbeb489e32623aa6e4c8" title=" " alt="" coords="385,909,542,936"/>
<area shape="rect"  href="status_8c.html#a6b09beaeb7a341d83ae9ceded9c93ca4" title=" " alt="" coords="380,960,547,987"/>
<area shape="rect"  href="status_8c.html#a1ee0a0e0756eadec9054356d89a51289" title=" " alt="" coords="397,1011,529,1053"/>
<area shape="rect"  href="status_8c.html#aaebe6621269740d95c9284bcbb4fc9b4" title=" " alt="" coords="375,1280,552,1307"/>
<area shape="rect"  href="status_8c.html#a9346e74a0f0d9530d4b98e5059533fe4" title=" " alt="" coords="626,1305,809,1332"/>
<area shape="rect"  href="status_8c.html#a1143c80f218b32f866e0cc80ae036bc3" title=" " alt="" coords="384,1179,543,1205"/>
<area shape="rect"  href="status_8c.html#a3545942e77f3a16ee6692a9b634e5f7e" title=" " alt="" coords="388,1229,539,1256"/>
<area shape="rect"  href="status_8c.html#aa8ddf49015e6159eec2f16ac86f81abc" title=" " alt="" coords="368,1128,559,1155"/>
<area shape="rect"  href="status_8c.html#a7663499119b94c965fc82de66f3b39b7" title=" " alt="" coords="619,1103,816,1129"/>
<area shape="rect"  href="status_8c.html#ac13b667f21e4130311dcd81a5f55a1c9" title=" " alt="" coords="378,1382,549,1423"/>
<area shape="rect"  href="status_8c.html#a6e36bff711d78e207b3d047928a85afc" title=" " alt="" coords="385,1448,542,1475"/>
<area shape="rect"  href="status_8c.html#aa4e6bcc5ee09c1853c2c0800ef96f084" title=" " alt="" coords="387,67,540,93"/>
<area shape="rect"  href="status_8c.html#a0ce38de7b1ba7a34808185ee942cfc7b" title=" " alt="" coords="641,721,794,762"/>
<area shape="rect"  href="status_8c.html#aee04b2b324a8233c2a9f5eb90b77a6fc" title=" " alt="" coords="641,641,794,682"/>
<area shape="rect"  href="status_8c.html#a04f86af67fd6a4a33d9fc4ca2c0c7072" title=" " alt="" coords="387,675,540,717"/>
<area shape="rect"  href="status_8c.html#a923fe03c8487c12bd656a22d6dc3f0b7" title=" " alt="" coords="356,269,571,296"/>
<area shape="rect"  href="status_8c.html#aaa8e4295bc31ebc7504fb56c1cedb071" title=" " alt="" coords="379,320,547,347"/>
</map>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_a9ec4f74d423ae0bd4aa6e960632b7086_icgraph.gif" border="0" usemap="#hashcat_8c_a9ec4f74d423ae0bd4aa6e960632b7086_icgraph" alt=""/></div>
<map name="hashcat_8c_a9ec4f74d423ae0bd4aa6e960632b7086_icgraph" id="hashcat_8c_a9ec4f74d423ae0bd4aa6e960632b7086_icgraph">
<area shape="rect"  title=" " alt="" coords="592,5,680,32"/>
<area shape="rect"  href="hashcat_8c.html#ad6cc36d03dcdad3413c794efecb3178a" title=" " alt="" coords="456,5,544,32"/>
<area shape="rect"  href="hashcat_8c.html#ac33e9695b713153c0fc7cce11696704b" title=" " alt="" coords="325,5,408,32"/>
<area shape="rect"  href="hashcat_8c.html#ac49fece3f82732fda9eb29766cc01168" title=" " alt="" coords="104,5,277,32"/>
<area shape="rect"  href="main_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title=" " alt="" coords="5,5,56,32"/>
</map>
</div>

</div>
</div>
<a id="ac33e9695b713153c0fc7cce11696704b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac33e9695b713153c0fc7cce11696704b">&#9670;&nbsp;</a></span>outer_loop()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int outer_loop </td>
          <td>(</td>
          <td class="paramtype">hashcat_ctx_t *&#160;</td>
          <td class="paramname"><em>hashcat_ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>setup prepare timer</p>
<p>setup variables and buffers depending on hash_mode</p>
<p>load hashes, stage 1</p>
<p>load hashes, stage 2, remove duplicates, build base structure</p>
<p>potfile removes</p>
<p>load hashes, stage 3, update cracked results from potfile</p>
<p>potfile show/left handling</p>
<p>maybe all hashes were cracked, we can exit here</p>
<p>load hashes, stage 4, automatic Optimizers</p>
<p>Done loading hashes, log results</p>
<p>bitmaps</p>
<p>cracks-per-time allocate buffer</p>
<p>Wordlist allocate buffer</p>
<p>straight mode init</p>
<p>straight mode init</p>
<p>charsets : keep them together for more easy maintainnce</p>
<p>prevent the user from using &ndash;skip/&ndash;limit together w/ maskfile and or dictfile</p>
<p>prevent the user from using &ndash;keyspace together w/ maskfile and or dictfile</p>
<p>status progress init; needs hashes that's why we have to do it here and separate from status_ctx_init</p>
<p>main screen</p>
<p>inform the user</p>
<p>weak hash check is the first to write to potfile, so open it for writing from here</p>
<p>weak hash check</p>
<p>status and monitor threads</p>
<p>Outfile remove</p>
<p>Tell user about cracked hashes by potfile</p>

<p class="definition">Definition at line <a class="el" href="hashcat_8c_source.html#l00376">376</a> of file <a class="el" href="hashcat_8c_source.html">hashcat.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;{</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;  hashes_t       *hashes        = hashcat_ctx-&gt;hashes;</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;  mask_ctx_t     *mask_ctx      = hashcat_ctx-&gt;mask_ctx;</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;  opencl_ctx_t   *opencl_ctx    = hashcat_ctx-&gt;opencl_ctx;</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;  outcheck_ctx_t *outcheck_ctx  = hashcat_ctx-&gt;outcheck_ctx;</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;  restore_ctx_t  *restore_ctx   = hashcat_ctx-&gt;restore_ctx;</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;  status_ctx_t   *status_ctx    = hashcat_ctx-&gt;status_ctx;</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;  straight_ctx_t *straight_ctx  = hashcat_ctx-&gt;straight_ctx;</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;  user_options_t *user_options  = hashcat_ctx-&gt;user_options;</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;  status_ctx-&gt;devices_status = STATUS_INIT;</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;  <span class="comment">//status_ctx-&gt;run_main_level1   = true;</span></div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;  status_ctx-&gt;run_main_level2   = <span class="keyword">true</span>;</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;  status_ctx-&gt;run_main_level3   = <span class="keyword">true</span>;</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;  status_ctx-&gt;run_thread_level1 = <span class="keyword">true</span>;</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;  status_ctx-&gt;run_thread_level2 = <span class="keyword">true</span>;</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;  time (&amp;status_ctx-&gt;prepare_start);</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_hashconfig = <a class="code" href="interface_8c.html#a748d227a9485eb76daa5f1e70ea9badc">hashconfig_init</a> (hashcat_ctx);</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;  <span class="keywordflow">if</span> (rc_hashconfig == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_hashes_init_stage1 = <a class="code" href="hashes_8c.html#aa009c18f9bedd6179e77e24c5752807e">hashes_init_stage1</a> (hashcat_ctx);</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;  <span class="keywordflow">if</span> (rc_hashes_init_stage1 == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;  <span class="keywordflow">if</span> ((user_options-&gt;keyspace == <span class="keyword">false</span>) &amp;&amp; (user_options-&gt;stdout_flag == <span class="keyword">false</span>))</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;  {</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    <span class="keywordflow">if</span> (hashes-&gt;hashes_cnt == 0)</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;    {</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;      <a class="code" href="event_8c.html#ab419d8d7e9b12e78980ed9f17bdd5ed5">event_log_error</a> (hashcat_ctx, <span class="stringliteral">&quot;No hashes loaded&quot;</span>);</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;      <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    }</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;  }</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;  hashes-&gt;hashes_cnt_orig = hashes-&gt;hashes_cnt;</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_hashes_init_stage2 = <a class="code" href="hashes_8c.html#ae4bb063e0f3323bd811e98dde95bf38c">hashes_init_stage2</a> (hashcat_ctx);</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;  <span class="keywordflow">if</span> (rc_hashes_init_stage2 == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;  <span class="keywordflow">if</span> (user_options-&gt;potfile_disable == <span class="keyword">false</span>)</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;  {</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    EVENT (EVENT_POTFILE_REMOVE_PARSE_PRE);</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    <a class="code" href="potfile_8c.html#ab34391a2f48c7208b15946dd8759eeea">potfile_remove_parse</a> (hashcat_ctx);</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    EVENT (EVENT_POTFILE_REMOVE_PARSE_POST);</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;  }</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_hashes_init_stage3 = <a class="code" href="hashes_8c.html#af1c27b3415b5b67e612af9692facab77">hashes_init_stage3</a> (hashcat_ctx);</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;  <span class="keywordflow">if</span> (rc_hashes_init_stage3 == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;  <span class="keywordflow">if</span> (user_options-&gt;show == <span class="keyword">true</span>)</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;  {</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <a class="code" href="outfile_8c.html#a2085d3798d2f36b34c3d3a87604364dc">outfile_write_open</a> (hashcat_ctx);</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span> rc = <a class="code" href="potfile_8c.html#ab54e1941ce1ee998c5b86e79d6e57bbc">potfile_handle_show</a> (hashcat_ctx);</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    <span class="keywordflow">if</span> (rc == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    <a class="code" href="outfile_8c.html#a0ee7c764adf45c57931ed799c23f6c64">outfile_write_close</a> (hashcat_ctx);</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;  }</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (user_options-&gt;left == <span class="keyword">true</span>)</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;  {</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    <a class="code" href="outfile_8c.html#a2085d3798d2f36b34c3d3a87604364dc">outfile_write_open</a> (hashcat_ctx);</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span> rc = <a class="code" href="potfile_8c.html#aa340141d20febc4004a75982ea4927b2">potfile_handle_left</a> (hashcat_ctx);</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;    <span class="keywordflow">if</span> (rc == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;    <a class="code" href="outfile_8c.html#a0ee7c764adf45c57931ed799c23f6c64">outfile_write_close</a> (hashcat_ctx);</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;  }</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;  <span class="keywordflow">if</span> (status_ctx-&gt;devices_status == STATUS_CRACKED)</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;  {</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;    EVENT (EVENT_POTFILE_ALL_CRACKED);</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;  }</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_hashes_init_stage4 = <a class="code" href="hashes_8c.html#a0feb70b2b982fa8f2a474aa55dab16f0">hashes_init_stage4</a> (hashcat_ctx);</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;  <span class="keywordflow">if</span> (rc_hashes_init_stage4 == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;  <a class="code" href="hashes_8c.html#aa62276b71d23a942d8f391960aa7ac04">hashes_logger</a> (hashcat_ctx);</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;  EVENT (EVENT_BITMAP_INIT_PRE);</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_bitmap_init = <a class="code" href="bitmap_8c.html#a6adb3c98282093e460f8d5d447f9978e">bitmap_ctx_init</a> (hashcat_ctx);</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;  <span class="keywordflow">if</span> (rc_bitmap_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;  EVENT (EVENT_BITMAP_INIT_POST);</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;  <a class="code" href="cpt_8c.html#a94ff4cb0d3e08d0ee05fec84d6fcdc0a">cpt_ctx_init</a> (hashcat_ctx);</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_wl_data_init = <a class="code" href="wordlist_8c.html#abcca435210ba227305f33bc5c5bab1eb">wl_data_init</a> (hashcat_ctx);</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;  <span class="keywordflow">if</span> (rc_wl_data_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_straight_init = <a class="code" href="straight_8c.html#ac38042838c02bcb1ca4b24b87047b34d">straight_ctx_init</a> (hashcat_ctx);</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;  <span class="keywordflow">if</span> (rc_straight_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;</div><div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_combinator_init = <a class="code" href="combinator_8c.html#a195623f28a518e91120db41b0c99665e">combinator_ctx_init</a> (hashcat_ctx);</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;  <span class="keywordflow">if</span> (rc_combinator_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_mask_init = <a class="code" href="mpsp_8c.html#abfd45301318eec38b75a094fff49b551">mask_ctx_init</a> (hashcat_ctx);</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;</div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;  <span class="keywordflow">if</span> (rc_mask_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;  <span class="keywordflow">if</span> (user_options-&gt;skip != 0 || user_options-&gt;limit != 0)</div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;  {</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;    <span class="keywordflow">if</span> ((mask_ctx-&gt;masks_cnt &gt; 1) || (straight_ctx-&gt;dicts_cnt &gt; 1))</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;    {</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;      <a class="code" href="event_8c.html#ab419d8d7e9b12e78980ed9f17bdd5ed5">event_log_error</a> (hashcat_ctx, <span class="stringliteral">&quot;--skip/--limit are not supported with --increment or mask files&quot;</span>);</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;      <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;    }</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;  }</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;  <span class="keywordflow">if</span> (user_options-&gt;keyspace == <span class="keyword">true</span>)</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;  {</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;    <span class="keywordflow">if</span> ((mask_ctx-&gt;masks_cnt &gt; 1) || (straight_ctx-&gt;dicts_cnt &gt; 1))</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;    {</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;      <a class="code" href="event_8c.html#ab419d8d7e9b12e78980ed9f17bdd5ed5">event_log_error</a> (hashcat_ctx, <span class="stringliteral">&quot;--keyspace is not supported with --increment or mask files&quot;</span>);</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;      <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;    }</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;  }</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_status_init = <a class="code" href="status_8c.html#a21567dc2141a401f17e1ae8366d90faa">status_progress_init</a> (hashcat_ctx);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;  <span class="keywordflow">if</span> (rc_status_init == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;  EVENT (EVENT_OUTERLOOP_MAINSCREEN);</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;  EVENT (EVENT_OPENCL_SESSION_PRE);</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_session_begin = <a class="code" href="opencl_8c.html#a25858ed9c49bd2972bb375ec8190c2ba">opencl_session_begin</a> (hashcat_ctx);</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;  <span class="keywordflow">if</span> (rc_session_begin == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;  EVENT (EVENT_OPENCL_SESSION_POST);</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">int</span> rc_potfile_write = <a class="code" href="potfile_8c.html#a9a20566f4dc9a8087b28cf0f1f26deb5">potfile_write_open</a> (hashcat_ctx);</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;</div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;  <span class="keywordflow">if</span> (rc_potfile_write == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;  <span class="keywordflow">if</span> (user_options-&gt;weak_hash_threshold &gt;= hashes-&gt;salts_cnt)</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;  {</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;    hc_device_param_t *device_param = NULL;</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;</div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;    <span class="keywordflow">for</span> (u32 device_id = 0; device_id &lt; opencl_ctx-&gt;devices_cnt; device_id++)</div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;    {</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;      device_param = &amp;opencl_ctx-&gt;devices_param[device_id];</div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;      <span class="keywordflow">if</span> (device_param-&gt;skipped == <span class="keyword">true</span>) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;      <span class="keywordflow">break</span>;</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;    }</div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;    EVENT (EVENT_WEAK_HASH_PRE);</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;    <span class="keywordflow">for</span> (u32 salt_pos = 0; salt_pos &lt; hashes-&gt;salts_cnt; salt_pos++)</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;    {</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">int</span> CL_rc = <a class="code" href="weak__hash_8c.html#a410a6e1cce44e8f0c4cde8ec7d00ecd8">weak_hash_check</a> (hashcat_ctx, device_param, salt_pos);</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;</div><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;      <span class="keywordflow">if</span> (CL_rc == -1) <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;    }</div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;    EVENT (EVENT_WEAK_HASH_POST);</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;  }</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;  <span class="keywordtype">int</span> inner_threads_cnt = 0;</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;  hc_thread_t *inner_threads = (hc_thread_t *) <a class="code" href="memory_8c.html#aab4c3019b442ae19027f3e773214416b">hccalloc</a> (10, <span class="keyword">sizeof</span> (hc_thread_t));</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;  status_ctx-&gt;shutdown_inner = <span class="keyword">false</span>;</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;</div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;  <span class="keywordflow">if</span> (user_options-&gt;keyspace == <span class="keyword">false</span> &amp;&amp; user_options-&gt;benchmark == <span class="keyword">false</span> &amp;&amp; user_options-&gt;stdout_flag == <span class="keyword">false</span> &amp;&amp; user_options-&gt;speed_only == <span class="keyword">false</span>)</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;  {</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;    hc_thread_create (inner_threads[inner_threads_cnt], <a class="code" href="monitor_8c.html#ab9ac4a7731cf2a12f37be8fcdaa38a43">thread_monitor</a>, hashcat_ctx);</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;    inner_threads_cnt++;</div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;    <span class="keywordflow">if</span> (outcheck_ctx-&gt;enabled == <span class="keyword">true</span>)</div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;    {</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;      hc_thread_create (inner_threads[inner_threads_cnt], <a class="code" href="outfile__check_8c.html#aa0e20db36255679b69e7423e65995f99">thread_outfile_remove</a>, hashcat_ctx);</div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;</div><div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;      inner_threads_cnt++;</div><div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;    }</div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;  }</div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;  EVENT (EVENT_POTFILE_NUM_CRACKED);</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;  <span class="comment">// main call</span></div><div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;</div><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;  <span class="keywordflow">if</span> (restore_ctx-&gt;rd)</div><div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;  {</div><div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;    restore_data_t *rd = restore_ctx-&gt;rd;</div><div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;</div><div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;    <span class="keywordflow">if</span> (rd-&gt;masks_pos &gt; 0)</div><div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;    {</div><div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;      mask_ctx-&gt;masks_pos = rd-&gt;masks_pos;</div><div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;</div><div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;      rd-&gt;masks_pos = 0;</div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;    }</div><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;  }</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;</div><div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;  EVENT (EVENT_INNERLOOP1_STARTING);</div><div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;  <span class="keywordflow">if</span> (mask_ctx-&gt;masks_cnt)</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;  {</div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;    <span class="keywordflow">for</span> (u32 masks_pos = mask_ctx-&gt;masks_pos; masks_pos &lt; mask_ctx-&gt;masks_cnt; masks_pos++)</div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;    {</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;      mask_ctx-&gt;masks_pos = masks_pos;</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">int</span> rc_inner1_loop = <a class="code" href="hashcat_8c.html#ad6cc36d03dcdad3413c794efecb3178a">inner1_loop</a> (hashcat_ctx);</div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;</div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;      <span class="keywordflow">if</span> (rc_inner1_loop == -1) <a class="code" href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025">myabort</a> (hashcat_ctx);</div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;</div><div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;      <span class="keywordflow">if</span> (status_ctx-&gt;run_main_level2 == <span class="keyword">false</span>) <span class="keywordflow">break</span>;</div><div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;    }</div><div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;</div><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    <span class="keywordflow">if</span> (mask_ctx-&gt;masks_pos == mask_ctx-&gt;masks_cnt) mask_ctx-&gt;masks_pos = 0;</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;  }</div><div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;  <span class="keywordflow">else</span></div><div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;  {</div><div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">int</span> rc_inner1_loop = <a class="code" href="hashcat_8c.html#ad6cc36d03dcdad3413c794efecb3178a">inner1_loop</a> (hashcat_ctx);</div><div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;</div><div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;    <span class="keywordflow">if</span> (rc_inner1_loop == -1) <a class="code" href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025">myabort</a> (hashcat_ctx);</div><div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;  }</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;</div><div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;  <span class="comment">// wait for inner threads</span></div><div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;</div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;  status_ctx-&gt;shutdown_inner = <span class="keyword">true</span>;</div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> thread_idx = 0; thread_idx &lt; inner_threads_cnt; thread_idx++)</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;  {</div><div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;    hc_thread_wait (1, &amp;inner_threads[thread_idx]);</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;  }</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;</div><div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;  <a class="code" href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a> (inner_threads);</div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;</div><div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;  EVENT (EVENT_INNERLOOP1_FINISHED);</div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;</div><div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;  <span class="comment">// finalize potfile</span></div><div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;</div><div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;  <a class="code" href="potfile_8c.html#a9ee3ac56146461a23280534ead6efb4c">potfile_write_close</a> (hashcat_ctx);</div><div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;</div><div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;  <span class="comment">// finalize opencl session</span></div><div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;</div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;  <a class="code" href="opencl_8c.html#a66caf323d4e30c7308902b35985b3681">opencl_session_destroy</a> (hashcat_ctx);</div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;  <span class="comment">// clean up</span></div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;  <a class="code" href="bitmap_8c.html#a241600b2e8ac6220a69bfbd790ed1716">bitmap_ctx_destroy</a>      (hashcat_ctx);</div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;  <a class="code" href="combinator_8c.html#ad5439b2b7e1346532d5589627dfa5bfe">combinator_ctx_destroy</a>  (hashcat_ctx);</div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;  <a class="code" href="cpt_8c.html#a042b8e1abbdd85901fd79043e54bf15b">cpt_ctx_destroy</a>         (hashcat_ctx);</div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;  <a class="code" href="interface_8c.html#a17b836ef1b3b01da3cfa12ed819d3256">hashconfig_destroy</a>      (hashcat_ctx);</div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;  <a class="code" href="hashes_8c.html#a2aaa2d8f74bf125b61ef8cd40075d33e">hashes_destroy</a>          (hashcat_ctx);</div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;  <a class="code" href="mpsp_8c.html#a77eea57947217569f59bc6721e5436dc">mask_ctx_destroy</a>        (hashcat_ctx);</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;  <a class="code" href="status_8c.html#a5a4742a8d97345579ef1cb79a7fbdc2d">status_progress_destroy</a> (hashcat_ctx);</div><div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;  <a class="code" href="straight_8c.html#ac0be3b8a2fb9940d665d2e533a3b1160">straight_ctx_destroy</a>    (hashcat_ctx);</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;  <a class="code" href="wordlist_8c.html#a11676ed777f62dd7e35f4a9980329088">wl_data_destroy</a>         (hashcat_ctx);</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;}</div><div class="ttc" id="hashes_8c_html_aa62276b71d23a942d8f391960aa7ac04"><div class="ttname"><a href="hashes_8c.html#aa62276b71d23a942d8f391960aa7ac04">hashes_logger</a></div><div class="ttdeci">void hashes_logger(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hashes_8c_source.html#l01369">hashes.c:1369</a></div></div>
<div class="ttc" id="potfile_8c_html_ab34391a2f48c7208b15946dd8759eeea"><div class="ttname"><a href="potfile_8c.html#ab34391a2f48c7208b15946dd8759eeea">potfile_remove_parse</a></div><div class="ttdeci">int potfile_remove_parse(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="potfile_8c_source.html#l00263">potfile.c:263</a></div></div>
<div class="ttc" id="mpsp_8c_html_abfd45301318eec38b75a094fff49b551"><div class="ttname"><a href="mpsp_8c.html#abfd45301318eec38b75a094fff49b551">mask_ctx_init</a></div><div class="ttdeci">int mask_ctx_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="mpsp_8c_source.html#l01134">mpsp.c:1134</a></div></div>
<div class="ttc" id="memory_8c_html_ad8ba3dcf1734b1d2c8679600f0f0c3c9"><div class="ttname"><a href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9">hcfree</a></div><div class="ttdeci">void hcfree(void *ptr)</div><div class="ttdef"><b>Definition:</b> <a href="memory_8c_source.html#l00071">memory.c:71</a></div></div>
<div class="ttc" id="event_8c_html_ab419d8d7e9b12e78980ed9f17bdd5ed5"><div class="ttname"><a href="event_8c.html#ab419d8d7e9b12e78980ed9f17bdd5ed5">event_log_error</a></div><div class="ttdeci">size_t event_log_error(hashcat_ctx_t *hashcat_ctx, const char *fmt,...)</div><div class="ttdef"><b>Definition:</b> <a href="event_8c_source.html#l00168">event.c:168</a></div></div>
<div class="ttc" id="opencl_8c_html_a25858ed9c49bd2972bb375ec8190c2ba"><div class="ttname"><a href="opencl_8c.html#a25858ed9c49bd2972bb375ec8190c2ba">opencl_session_begin</a></div><div class="ttdeci">int opencl_session_begin(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="opencl_8c_source.html#l03129">opencl.c:3129</a></div></div>
<div class="ttc" id="hashes_8c_html_af1c27b3415b5b67e612af9692facab77"><div class="ttname"><a href="hashes_8c.html#af1c27b3415b5b67e612af9692facab77">hashes_init_stage3</a></div><div class="ttdeci">int hashes_init_stage3(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hashes_8c_source.html#l01222">hashes.c:1222</a></div></div>
<div class="ttc" id="opencl_8c_html_a66caf323d4e30c7308902b35985b3681"><div class="ttname"><a href="opencl_8c.html#a66caf323d4e30c7308902b35985b3681">opencl_session_destroy</a></div><div class="ttdeci">void opencl_session_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="opencl_8c_source.html#l04797">opencl.c:4797</a></div></div>
<div class="ttc" id="status_8c_html_a21567dc2141a401f17e1ae8366d90faa"><div class="ttname"><a href="status_8c.html#a21567dc2141a401f17e1ae8366d90faa">status_progress_init</a></div><div class="ttdeci">int status_progress_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01686">status.c:1686</a></div></div>
<div class="ttc" id="hashes_8c_html_a0feb70b2b982fa8f2a474aa55dab16f0"><div class="ttname"><a href="hashes_8c.html#a0feb70b2b982fa8f2a474aa55dab16f0">hashes_init_stage4</a></div><div class="ttdeci">int hashes_init_stage4(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hashes_8c_source.html#l01275">hashes.c:1275</a></div></div>
<div class="ttc" id="combinator_8c_html_a195623f28a518e91120db41b0c99665e"><div class="ttname"><a href="combinator_8c.html#a195623f28a518e91120db41b0c99665e">combinator_ctx_init</a></div><div class="ttdeci">int combinator_ctx_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="combinator_8c_source.html#l00014">combinator.c:14</a></div></div>
<div class="ttc" id="hashes_8c_html_ae4bb063e0f3323bd811e98dde95bf38c"><div class="ttname"><a href="hashes_8c.html#ae4bb063e0f3323bd811e98dde95bf38c">hashes_init_stage2</a></div><div class="ttdeci">int hashes_init_stage2(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hashes_8c_source.html#l00999">hashes.c:999</a></div></div>
<div class="ttc" id="hashes_8c_html_a2aaa2d8f74bf125b61ef8cd40075d33e"><div class="ttname"><a href="hashes_8c.html#a2aaa2d8f74bf125b61ef8cd40075d33e">hashes_destroy</a></div><div class="ttdeci">void hashes_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hashes_8c_source.html#l01348">hashes.c:1348</a></div></div>
<div class="ttc" id="mpsp_8c_html_a77eea57947217569f59bc6721e5436dc"><div class="ttname"><a href="mpsp_8c.html#a77eea57947217569f59bc6721e5436dc">mask_ctx_destroy</a></div><div class="ttdeci">void mask_ctx_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="mpsp_8c_source.html#l01411">mpsp.c:1411</a></div></div>
<div class="ttc" id="memory_8c_html_aab4c3019b442ae19027f3e773214416b"><div class="ttname"><a href="memory_8c.html#aab4c3019b442ae19027f3e773214416b">hccalloc</a></div><div class="ttdeci">void * hccalloc(const size_t nmemb, const size_t sz)</div><div class="ttdef"><b>Definition:</b> <a href="memory_8c_source.html#l00010">memory.c:10</a></div></div>
<div class="ttc" id="bitmap_8c_html_a6adb3c98282093e460f8d5d447f9978e"><div class="ttname"><a href="bitmap_8c.html#a6adb3c98282093e460f8d5d447f9978e">bitmap_ctx_init</a></div><div class="ttdeci">int bitmap_ctx_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="bitmap_8c_source.html#l00052">bitmap.c:52</a></div></div>
<div class="ttc" id="combinator_8c_html_ad5439b2b7e1346532d5589627dfa5bfe"><div class="ttname"><a href="combinator_8c.html#ad5439b2b7e1346532d5589627dfa5bfe">combinator_ctx_destroy</a></div><div class="ttdeci">void combinator_ctx_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="combinator_8c_source.html#l00181">combinator.c:181</a></div></div>
<div class="ttc" id="cpt_8c_html_a94ff4cb0d3e08d0ee05fec84d6fcdc0a"><div class="ttname"><a href="cpt_8c.html#a94ff4cb0d3e08d0ee05fec84d6fcdc0a">cpt_ctx_init</a></div><div class="ttdeci">int cpt_ctx_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="cpt_8c_source.html#l00011">cpt.c:11</a></div></div>
<div class="ttc" id="straight_8c_html_ac0be3b8a2fb9940d665d2e533a3b1160"><div class="ttname"><a href="straight_8c.html#ac0be3b8a2fb9940d665d2e533a3b1160">straight_ctx_destroy</a></div><div class="ttdeci">void straight_ctx_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="straight_8c_source.html#l00470">straight.c:470</a></div></div>
<div class="ttc" id="outfile_8c_html_a0ee7c764adf45c57931ed799c23f6c64"><div class="ttname"><a href="outfile_8c.html#a0ee7c764adf45c57931ed799c23f6c64">outfile_write_close</a></div><div class="ttdeci">void outfile_write_close(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="outfile_8c_source.html#l00332">outfile.c:332</a></div></div>
<div class="ttc" id="thread_8c_html_a756f3c490d9f1c3c8b311c7caa1b0025"><div class="ttname"><a href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025">myabort</a></div><div class="ttdeci">int myabort(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="thread_8c_source.html#l00136">thread.c:136</a></div></div>
<div class="ttc" id="potfile_8c_html_aa340141d20febc4004a75982ea4927b2"><div class="ttname"><a href="potfile_8c.html#aa340141d20febc4004a75982ea4927b2">potfile_handle_left</a></div><div class="ttdeci">int potfile_handle_left(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="potfile_8c_source.html#l00567">potfile.c:567</a></div></div>
<div class="ttc" id="outfile__check_8c_html_aa0e20db36255679b69e7423e65995f99"><div class="ttname"><a href="outfile__check_8c.html#aa0e20db36255679b69e7423e65995f99">thread_outfile_remove</a></div><div class="ttdeci">void * thread_outfile_remove(void *p)</div><div class="ttdef"><b>Definition:</b> <a href="outfile__check_8c_source.html#l00308">outfile_check.c:308</a></div></div>
<div class="ttc" id="hashes_8c_html_aa009c18f9bedd6179e77e24c5752807e"><div class="ttname"><a href="hashes_8c.html#aa009c18f9bedd6179e77e24c5752807e">hashes_init_stage1</a></div><div class="ttdeci">int hashes_init_stage1(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hashes_8c_source.html#l00442">hashes.c:442</a></div></div>
<div class="ttc" id="interface_8c_html_a17b836ef1b3b01da3cfa12ed819d3256"><div class="ttname"><a href="interface_8c.html#a17b836ef1b3b01da3cfa12ed819d3256">hashconfig_destroy</a></div><div class="ttdeci">void hashconfig_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="interface_8c_source.html#l19934">interface.c:19934</a></div></div>
<div class="ttc" id="outfile_8c_html_a2085d3798d2f36b34c3d3a87604364dc"><div class="ttname"><a href="outfile_8c.html#a2085d3798d2f36b34c3d3a87604364dc">outfile_write_open</a></div><div class="ttdeci">int outfile_write_open(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="outfile_8c_source.html#l00303">outfile.c:303</a></div></div>
<div class="ttc" id="wordlist_8c_html_abcca435210ba227305f33bc5c5bab1eb"><div class="ttname"><a href="wordlist_8c.html#abcca435210ba227305f33bc5c5bab1eb">wl_data_init</a></div><div class="ttdeci">int wl_data_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="wordlist_8c_source.html#l00437">wordlist.c:437</a></div></div>
<div class="ttc" id="interface_8c_html_a748d227a9485eb76daa5f1e70ea9badc"><div class="ttname"><a href="interface_8c.html#a748d227a9485eb76daa5f1e70ea9badc">hashconfig_init</a></div><div class="ttdeci">int hashconfig_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="interface_8c_source.html#l15904">interface.c:15904</a></div></div>
<div class="ttc" id="hashcat_8c_html_ad6cc36d03dcdad3413c794efecb3178a"><div class="ttname"><a href="hashcat_8c.html#ad6cc36d03dcdad3413c794efecb3178a">inner1_loop</a></div><div class="ttdeci">static int inner1_loop(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="hashcat_8c_source.html#l00316">hashcat.c:316</a></div></div>
<div class="ttc" id="cpt_8c_html_a042b8e1abbdd85901fd79043e54bf15b"><div class="ttname"><a href="cpt_8c.html#a042b8e1abbdd85901fd79043e54bf15b">cpt_ctx_destroy</a></div><div class="ttdeci">void cpt_ctx_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="cpt_8c_source.html#l00036">cpt.c:36</a></div></div>
<div class="ttc" id="monitor_8c_html_ab9ac4a7731cf2a12f37be8fcdaa38a43"><div class="ttname"><a href="monitor_8c.html#ab9ac4a7731cf2a12f37be8fcdaa38a43">thread_monitor</a></div><div class="ttdeci">void * thread_monitor(void *p)</div><div class="ttdef"><b>Definition:</b> <a href="monitor_8c_source.html#l00417">monitor.c:417</a></div></div>
<div class="ttc" id="status_8c_html_a5a4742a8d97345579ef1cb79a7fbdc2d"><div class="ttname"><a href="status_8c.html#a5a4742a8d97345579ef1cb79a7fbdc2d">status_progress_destroy</a></div><div class="ttdeci">void status_progress_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="status_8c_source.html#l01698">status.c:1698</a></div></div>
<div class="ttc" id="straight_8c_html_ac38042838c02bcb1ca4b24b87047b34d"><div class="ttname"><a href="straight_8c.html#ac38042838c02bcb1ca4b24b87047b34d">straight_ctx_init</a></div><div class="ttdeci">int straight_ctx_init(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="straight_8c_source.html#l00174">straight.c:174</a></div></div>
<div class="ttc" id="weak__hash_8c_html_a410a6e1cce44e8f0c4cde8ec7d00ecd8"><div class="ttname"><a href="weak__hash_8c.html#a410a6e1cce44e8f0c4cde8ec7d00ecd8">weak_hash_check</a></div><div class="ttdeci">int weak_hash_check(hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param, const u32 salt_pos)</div><div class="ttdef"><b>Definition:</b> <a href="weak__hash_8c_source.html#l00013">weak_hash.c:13</a></div></div>
<div class="ttc" id="potfile_8c_html_a9ee3ac56146461a23280534ead6efb4c"><div class="ttname"><a href="potfile_8c.html#a9ee3ac56146461a23280534ead6efb4c">potfile_write_close</a></div><div class="ttdeci">void potfile_write_close(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="potfile_8c_source.html#l00192">potfile.c:192</a></div></div>
<div class="ttc" id="potfile_8c_html_a9a20566f4dc9a8087b28cf0f1f26deb5"><div class="ttname"><a href="potfile_8c.html#a9a20566f4dc9a8087b28cf0f1f26deb5">potfile_write_open</a></div><div class="ttdeci">int potfile_write_open(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="potfile_8c_source.html#l00172">potfile.c:172</a></div></div>
<div class="ttc" id="potfile_8c_html_ab54e1941ce1ee998c5b86e79d6e57bbc"><div class="ttname"><a href="potfile_8c.html#ab54e1941ce1ee998c5b86e79d6e57bbc">potfile_handle_show</a></div><div class="ttdeci">int potfile_handle_show(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="potfile_8c_source.html#l00503">potfile.c:503</a></div></div>
<div class="ttc" id="bitmap_8c_html_a241600b2e8ac6220a69bfbd790ed1716"><div class="ttname"><a href="bitmap_8c.html#a241600b2e8ac6220a69bfbd790ed1716">bitmap_ctx_destroy</a></div><div class="ttdeci">void bitmap_ctx_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="bitmap_8c_source.html#l00138">bitmap.c:138</a></div></div>
<div class="ttc" id="wordlist_8c_html_a11676ed777f62dd7e35f4a9980329088"><div class="ttname"><a href="wordlist_8c.html#a11676ed777f62dd7e35f4a9980329088">wl_data_destroy</a></div><div class="ttdeci">void wl_data_destroy(hashcat_ctx_t *hashcat_ctx)</div><div class="ttdef"><b>Definition:</b> <a href="wordlist_8c_source.html#l00478">wordlist.c:478</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="bitmap_8c_source.html#l00138">bitmap_ctx_destroy()</a>, <a class="el" href="bitmap_8c_source.html#l00052">bitmap_ctx_init()</a>, <a class="el" href="combinator_8c_source.html#l00181">combinator_ctx_destroy()</a>, <a class="el" href="combinator_8c_source.html#l00014">combinator_ctx_init()</a>, <a class="el" href="cpt_8c_source.html#l00036">cpt_ctx_destroy()</a>, <a class="el" href="cpt_8c_source.html#l00011">cpt_ctx_init()</a>, <a class="el" href="event_8c_source.html#l00168">event_log_error()</a>, <a class="el" href="interface_8c_source.html#l19934">hashconfig_destroy()</a>, <a class="el" href="interface_8c_source.html#l15904">hashconfig_init()</a>, <a class="el" href="hashes_8c_source.html#l01348">hashes_destroy()</a>, <a class="el" href="hashes_8c_source.html#l00442">hashes_init_stage1()</a>, <a class="el" href="hashes_8c_source.html#l00999">hashes_init_stage2()</a>, <a class="el" href="hashes_8c_source.html#l01222">hashes_init_stage3()</a>, <a class="el" href="hashes_8c_source.html#l01275">hashes_init_stage4()</a>, <a class="el" href="hashes_8c_source.html#l01369">hashes_logger()</a>, <a class="el" href="memory_8c_source.html#l00010">hccalloc()</a>, <a class="el" href="memory_8c_source.html#l00071">hcfree()</a>, <a class="el" href="hashcat_8c_source.html#l00316">inner1_loop()</a>, <a class="el" href="mpsp_8c_source.html#l01411">mask_ctx_destroy()</a>, <a class="el" href="mpsp_8c_source.html#l01134">mask_ctx_init()</a>, <a class="el" href="thread_8c_source.html#l00136">myabort()</a>, <a class="el" href="opencl_8c_source.html#l03129">opencl_session_begin()</a>, <a class="el" href="opencl_8c_source.html#l04797">opencl_session_destroy()</a>, <a class="el" href="outfile_8c_source.html#l00332">outfile_write_close()</a>, <a class="el" href="outfile_8c_source.html#l00303">outfile_write_open()</a>, <a class="el" href="potfile_8c_source.html#l00567">potfile_handle_left()</a>, <a class="el" href="potfile_8c_source.html#l00503">potfile_handle_show()</a>, <a class="el" href="potfile_8c_source.html#l00263">potfile_remove_parse()</a>, <a class="el" href="potfile_8c_source.html#l00192">potfile_write_close()</a>, <a class="el" href="potfile_8c_source.html#l00172">potfile_write_open()</a>, <a class="el" href="status_8c_source.html#l01698">status_progress_destroy()</a>, <a class="el" href="status_8c_source.html#l01686">status_progress_init()</a>, <a class="el" href="straight_8c_source.html#l00470">straight_ctx_destroy()</a>, <a class="el" href="straight_8c_source.html#l00174">straight_ctx_init()</a>, <a class="el" href="monitor_8c_source.html#l00417">thread_monitor()</a>, <a class="el" href="outfile__check_8c_source.html#l00308">thread_outfile_remove()</a>, <a class="el" href="weak__hash_8c_source.html#l00013">weak_hash_check()</a>, <a class="el" href="wordlist_8c_source.html#l00478">wl_data_destroy()</a>, and <a class="el" href="wordlist_8c_source.html#l00437">wl_data_init()</a>.</p>

<p class="reference">Referenced by <a class="el" href="hashcat_8c_source.html#l01008">hashcat_session_execute()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_ac33e9695b713153c0fc7cce11696704b_cgraph.gif" border="0" usemap="#hashcat_8c_ac33e9695b713153c0fc7cce11696704b_cgraph" alt=""/></div>
<map name="hashcat_8c_ac33e9695b713153c0fc7cce11696704b_cgraph" id="hashcat_8c_ac33e9695b713153c0fc7cce11696704b_cgraph">
<area shape="rect"  title=" " alt="" coords="5,968,88,995"/>
<area shape="rect"  href="bitmap_8c.html#a241600b2e8ac6220a69bfbd790ed1716" title=" " alt="" coords="151,411,287,437"/>
<area shape="rect"  href="memory_8c.html#ad8ba3dcf1734b1d2c8679600f0f0c3c9" title=" " alt="" coords="399,411,456,437"/>
<area shape="rect"  href="bitmap_8c.html#a6adb3c98282093e460f8d5d447f9978e" title=" " alt="" coords="163,1069,274,1096"/>
<area shape="rect"  href="combinator_8c.html#ad5439b2b7e1346532d5589627dfa5bfe" title=" " alt="" coords="138,461,299,488"/>
<area shape="rect"  href="combinator_8c.html#a195623f28a518e91120db41b0c99665e" title=" " alt="" coords="151,1272,286,1299"/>
<area shape="rect"  href="event_8c.html#ab419d8d7e9b12e78980ed9f17bdd5ed5" title=" " alt="" coords="373,1120,482,1147"/>
<area shape="rect"  href="cpt_8c.html#a042b8e1abbdd85901fd79043e54bf15b" title=" " alt="" coords="161,5,276,32"/>
<area shape="rect"  href="cpt_8c.html#a94ff4cb0d3e08d0ee05fec84d6fcdc0a" title=" " alt="" coords="174,1019,263,1045"/>
<area shape="rect"  href="memory_8c.html#aab4c3019b442ae19027f3e773214416b" title=" " alt="" coords="392,867,463,893"/>
<area shape="rect"  href="interface_8c.html#a17b836ef1b3b01da3cfa12ed819d3256" title=" " alt="" coords="151,1373,286,1400"/>
<area shape="rect"  href="interface_8c.html#a748d227a9485eb76daa5f1e70ea9badc" title=" " alt="" coords="165,1323,273,1349"/>
<area shape="rect"  href="hashes_8c.html#a2aaa2d8f74bf125b61ef8cd40075d33e" title=" " alt="" coords="161,56,276,83"/>
<area shape="rect"  href="hashes_8c.html#aa009c18f9bedd6179e77e24c5752807e" title=" " alt="" coords="151,765,286,792"/>
<area shape="rect"  href="hashes_8c.html#ae4bb063e0f3323bd811e98dde95bf38c" title=" " alt="" coords="151,613,286,640"/>
<area shape="rect"  href="hashes_8c.html#af1c27b3415b5b67e612af9692facab77" title=" " alt="" coords="151,1424,286,1451"/>
<area shape="rect"  href="hashes_8c.html#a0feb70b2b982fa8f2a474aa55dab16f0" title=" " alt="" coords="151,563,286,589"/>
<area shape="rect"  href="hashes_8c.html#aa62276b71d23a942d8f391960aa7ac04" title=" " alt="" coords="165,1475,272,1501"/>
<area shape="rect"  href="hashcat_8c.html#ad6cc36d03dcdad3413c794efecb3178a" title=" " alt="" coords="175,1525,263,1552"/>
<area shape="rect"  href="thread_8c.html#a756f3c490d9f1c3c8b311c7caa1b0025" title=" " alt="" coords="393,1551,462,1577"/>
<area shape="rect"  href="mpsp_8c.html#a77eea57947217569f59bc6721e5436dc" title=" " alt="" coords="154,107,283,133"/>
<area shape="rect"  href="mpsp_8c.html#abfd45301318eec38b75a094fff49b551" title=" " alt="" coords="167,816,270,843"/>
<area shape="rect"  href="opencl_8c.html#a25858ed9c49bd2972bb375ec8190c2ba" title=" " alt="" coords="143,867,294,893"/>
<area shape="rect"  href="opencl_8c.html#a66caf323d4e30c7308902b35985b3681" title=" " alt="" coords="137,157,300,184"/>
<area shape="rect"  href="outfile_8c.html#a0ee7c764adf45c57931ed799c23f6c64" title=" " alt="" coords="155,1627,283,1653"/>
<area shape="rect"  href="outfile_8c.html#a2085d3798d2f36b34c3d3a87604364dc" title=" " alt="" coords="156,1221,281,1248"/>
<area shape="rect"  href="potfile_8c.html#aa340141d20febc4004a75982ea4927b2" title=" " alt="" coords="156,1677,281,1704"/>
<area shape="rect"  href="potfile_8c.html#ab54e1941ce1ee998c5b86e79d6e57bbc" title=" " alt="" coords="149,1728,288,1755"/>
<area shape="rect"  href="potfile_8c.html#ab34391a2f48c7208b15946dd8759eeea" title=" " alt="" coords="147,512,290,539"/>
<area shape="rect"  href="potfile_8c.html#a9ee3ac56146461a23280534ead6efb4c" title=" " alt="" coords="155,1779,283,1805"/>
<area shape="rect"  href="potfile_8c.html#a9a20566f4dc9a8087b28cf0f1f26deb5" title=" " alt="" coords="156,1120,281,1147"/>
<area shape="rect"  href="status_8c.html#a5a4742a8d97345579ef1cb79a7fbdc2d" title=" " alt="" coords="136,208,301,235"/>
<area shape="rect"  href="status_8c.html#a21567dc2141a401f17e1ae8366d90faa" title=" " alt="" coords="149,917,288,944"/>
<area shape="rect"  href="straight_8c.html#ac0be3b8a2fb9940d665d2e533a3b1160" title=" " alt="" coords="149,259,289,285"/>
<area shape="rect"  href="straight_8c.html#ac38042838c02bcb1ca4b24b87047b34d" title=" " alt="" coords="161,664,276,691"/>
<area shape="rect"  href="monitor_8c.html#ab9ac4a7731cf2a12f37be8fcdaa38a43" title=" " alt="" coords="165,1829,273,1856"/>
<area shape="rect"  href="outfile__check_8c.html#aa0e20db36255679b69e7423e65995f99" title=" " alt="" coords="145,1880,292,1907"/>
<area shape="rect"  href="weak__hash_8c.html#a410a6e1cce44e8f0c4cde8ec7d00ecd8" title=" " alt="" coords="154,1931,283,1957"/>
<area shape="rect"  href="wordlist_8c.html#a11676ed777f62dd7e35f4a9980329088" title=" " alt="" coords="161,309,277,336"/>
<area shape="rect"  href="wordlist_8c.html#abcca435210ba227305f33bc5c5bab1eb" title=" " alt="" coords="173,715,264,741"/>
<area shape="rect"  href="bitmap_8c.html#a91f1b655f0aab3fc0af939270bd897b3" title=" " alt="" coords="365,1069,490,1096"/>
<area shape="rect"  href="memory_8c.html#aac788cecd4f6c2a1524456f4a5db7cdc" title=" " alt="" coords="390,740,465,767"/>
<area shape="rect"  href="wordlist_8c.html#aae2709343521b2e5a8fd5bf2fc375390" title=" " alt="" coords="380,1196,475,1223"/>
<area shape="rect"  href="event_8c.html#a6221c6caa1d2069ad1c3103f0b013ef7" title=" " alt="" coords="553,1095,632,1121"/>
<area shape="rect"  href="event_8c.html#ad5a30ac9dc4301540e19643500eb78e4" title=" " alt="" coords="555,1145,631,1172"/>
<area shape="rect"  href="interface_8c.html#a5ab5e81dc71bf3526c55468a8b35c9e7" title=" " alt="" coords="367,1297,488,1324"/>
<area shape="rect"  href="interface_8c.html#a29ecd7d869df0d27d00162bbe203b815" title=" " alt="" coords="363,1348,491,1375"/>
<area shape="rect"  href="interface_8c.html#a71e61b05b04a6cbfa9efdf5e96c0df62" title=" " alt="" coords="360,1399,495,1425"/>
<area shape="rect"  href="interface_8c.html#a23ab2b5a1284d8dd7fbfbae55a92c441" title=" " alt="" coords="349,1449,505,1476"/>
<area shape="rect"  href="interface_8c.html#a80146ba5fa57c66575e6b3b7efe8ee4e" title=" " alt="" coords="369,1247,486,1273"/>
</map>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="hashcat_8c_ac33e9695b713153c0fc7cce11696704b_icgraph.gif" border="0" usemap="#hashcat_8c_ac33e9695b713153c0fc7cce11696704b_icgraph" alt=""/></div>
<map name="hashcat_8c_ac33e9695b713153c0fc7cce11696704b_icgraph" id="hashcat_8c_ac33e9695b713153c0fc7cce11696704b_icgraph">
<area shape="rect"  title=" " alt="" coords="325,5,408,32"/>
<area shape="rect"  href="hashcat_8c.html#ac49fece3f82732fda9eb29766cc01168" title=" " alt="" coords="104,5,277,32"/>
<area shape="rect"  href="main_8c.html#a3c04138a5bfe5d72780bb7e82a18e627" title=" " alt="" coords="5,5,56,32"/>
</map>
</div>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>
